Membuat ruang bernama di Google Chat

Panduan ini menjelaskan cara membuat ruang bernama menggunakan metode create() di resource Space Google Chat API.

Ruang bernama (dengan spaceType adalah SPACE) adalah tempat orang mengirim pesan, berbagi file, dan berkolaborasi. Ruang bernama dapat menyertakan aplikasi Chat. Ruang bernama memiliki pengelola ruang yang dapat menerapkan setelan administratif, deskripsi, serta menambahkan atau menghapus orang dan aplikasi.

Untuk membuat berbagai jenis ruang Chat (termasuk pesan langsung atau pesan grup), gunakan metode setUp() di resource Space untuk membuat ruang dan menambahkan anggota secara bersamaan. Untuk mengetahui detailnya, Siapkan ruang.

Setelah membuat ruang bernama, satu-satunya anggota ruang adalah pengguna yang diautentikasi. Untuk menambahkan anggota ke ruang, panggil metode create() pada resource Membership untuk setiap orang atau aplikasi yang ingin Anda tambahkan. Atau, Anda dapat menggunakan metode setUp() untuk membuat ruang bernama dan menambahkan anggota ke ruang tersebut secara bersamaan.

Prasyarat

Node.js

Python

Java

Apps Script

Membuat ruang bernama sebagai pengguna

Untuk membuat ruang bernama dengan autentikasi pengguna, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.spaces.create atau chat.spaces.
  • Panggil metode CreateSpace(), dengan meneruskan space sebagai instance Space dengan kolom berikut:
    • spaceType disetel ke SPACE.
    • displayName ditetapkan ke nama ruang yang dapat dilihat pengguna.
    • Secara opsional, tetapkan atribut lain, seperti berikut:
      • spaceDetails- deskripsi yang dapat dilihat pengguna dan serangkaian panduan untuk ruang.
      • predefinedPermissionSettings- izin standar untuk ruang. Misalnya, Anda dapat mengonfigurasinya agar semua anggota atau hanya pengelola ruang yang dapat memposting pesan.

Berikut adalah cara membuat ruang bernama:

Node.js

chat/client-libraries/cloud/create-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.spaces.create'];

// This sample shows how to create a named space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME'
    }
  };

  // Make the request
  const response = await chatClient.createSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Python

chat/client-libraries/cloud/create_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def create_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.CreateSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        }
    )

    # Make the request
    response = client.create_space(request)

    # Handle the response
    print(response)

create_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/CreateSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateSpaceRequest;
import com.google.chat.v1.Space;

// This sample shows how to create space with user credential.
public class CreateSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      CreateSpaceRequest.Builder request = CreateSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"));
      Space response = chatServiceClient.createSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to create space with user credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function createSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };

  // Make the request
  const response = Chat.Spaces.create(space);

  // Handle the response
  console.log(response);
}

Membuat ruang bernama sebagai aplikasi Chat

Autentikasi aplikasi memerlukan persetujuan administrator satu kali.

Untuk mengundang atau menambahkan pengguna ke ruang dengan autentikasi aplikasi, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.app.spaces.create atau chat.app.spaces.
  • Panggil metode create pada resource Space.
  • Tetapkan spaceType ke SPACE.
  • Tetapkan displayName ke nama ruang yang terlihat oleh pengguna. Dalam contoh berikut, displayName ditetapkan ke API-made.
  • Tentukan ID pelanggan domain Google Workspace menggunakan kolom customer.
  • Secara opsional, tetapkan atribut ruang lainnya, seperti spaceDetails (deskripsi yang terlihat pengguna dan kumpulan panduan untuk ruang).

Membuat kunci API

Untuk memanggil metode Developer Preview API, Anda harus menggunakan versi pratinjau developer non-publik dari dokumen penemuan API. Untuk mengautentikasi permintaan, Anda harus meneruskan kunci API.

Untuk membuat Kunci API, buka project Google Cloud aplikasi Anda dan lakukan hal berikut:

  1. Di konsol Google Cloud, buka Menu > APIs & Services > Credentials.

    Buka Kredensial

  2. Klik Create credentials > API key.
  3. Kunci API baru Anda akan ditampilkan.
    • Klik Salin untuk menyalin kunci API Anda agar dapat digunakan dalam kode aplikasi. Kunci API juga dapat ditemukan di bagian "API keys" pada kredensial project Anda.
    • Klik Batasi kunci untuk memperbarui setelan lanjutan dan membatasi penggunaan kunci API Anda. Untuk mengetahui detail selengkapnya, lihat Menerapkan pembatasan kunci API.

Menulis skrip yang memanggil Chat API

Berikut adalah cara membuat ruang bernama:

Python

  1. Di direktori kerja, buat file bernama chat_space_create_named_app.py.
  2. Sertakan kode berikut di chat_space_create_named_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.spaces.create"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then creates a Chat space.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().create(
    
          # Details about the space to create.
          body = {
    
            # To create a named space, set spaceType to SPACE.
            'spaceType': 'SPACE',
    
            # The user-visible name of the space.
            'displayName': 'API-made',
    
            # The customer ID of the Workspace domain.
            'customer': 'CUSTOMER'
          }
    
          ).execute()
    
        # Prints details about the created space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti kode berikut:

    • API_KEY: kunci API yang Anda buat untuk membuat endpoint layanan untuk Chat API.

    • CUSTOMER: ID pelanggan domain ruang dalam format customer/{customer} dengan {customer} adalah ID dari resource pelanggan Admin SDK. Untuk membuat ruang di organisasi Google Workspace yang sama dengan aplikasi Chat, gunakan customers/my_customer.

  4. Di direktori kerja, build dan jalankan contoh:

    python3 chat_space_create_named_app.py

Membuka ruang di Google Chat

Untuk membuka ruang, gunakan ID resource ruang untuk membuat URL ruang. Anda dapat menemukan ID resource dari ruang name di isi respons Google Chat. Misalnya, jika name ruang Anda adalah spaces/1234567, Anda dapat membuka ruang menggunakan URL berikut: https://mail.google.com/chat/u/0/#chat/space/1234567.