Memperbarui ruang

Panduan ini menjelaskan cara menggunakan metode patch pada resource Space Google Chat API untuk memperbarui ruang. Perbarui spasi untuk mengubah atribut ruang, seperti nama tampilan, deskripsi, dan panduannya yang terlihat oleh pengguna.

Resource Space merepresentasikan tempat orang dan aplikasi Chat dapat mengirim pesan, berbagi file, dan berkolaborasi. Ada beberapa jenis ruang:

  • Pesan langsung (DM) adalah percakapan antara dua pengguna atau pengguna dan aplikasi Chat.
  • Chat grup adalah percakapan antara tiga pengguna atau lebih dan aplikasi Chat.
  • Ruang bernama adalah tempat tetap tempat orang mengirim pesan, berbagi file, dan berkolaborasi.

Prasyarat

Python

  • Python 3.6 atau yang lebih baru
  • Alat pengelolaan paket pip
  • Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdatenya, jalankan perintah berikut di antarmuka command line Anda:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Mem-build aplikasi Google Chat.
  • Otorisasi dikonfigurasi untuk aplikasi Chat. Memperbarui ruang memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.spaces.

Node.js

  • Node.js & npm
  • Library klien Google terbaru untuk Node.js. Untuk menginstalnya, jalankan perintah berikut di antarmuka command line Anda:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Mem-build aplikasi Google Chat.
  • Otorisasi dikonfigurasi untuk aplikasi Chat. Memperbarui ruang memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.spaces.

Memperbarui ruang

Untuk memperbarui ruang yang ada di Google Chat, teruskan kode berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.spaces.
  • Panggil metode patch pada resource Space, dan teruskan name ruang untuk diperbarui, serta updateMask dan body yang menentukan atribut ruang yang diupdate.
  • updateMask menentukan aspek ruang yang akan diupdate, dan menyertakan hal berikut:
    • displayName: Memperbarui nama ruang yang dapat dibaca pengguna yang ditampilkan di UI Google Chat. Hanya mendukung perubahan nama tampilan ruang dengan jenis SPACE, atau jika menyertakan mask spaceType juga untuk mengubah jenis ruang GROUP_CHAT menjadi SPACE. Mencoba memperbarui nama tampilan ruang GROUP_CHAT atau DIRECT_MESSAGE akan menghasilkan error argumen yang tidak valid.
    • spaceType: Memperbarui jenis ruang, tetapi hanya mendukung perubahan jenis ruang GROUP_CHAT menjadi SPACE. Sertakan displayName bersama dengan spaceType dalam mask update dan pastikan ruang yang ditentukan memiliki displayName yang tidak kosong dan jenis ruang SPACE. Jika ruang yang ada sudah memiliki jenis SPACE, termasuk mask spaceType dan jenis SPACE di ruang yang ditentukan saat memperbarui nama tampilan bersifat opsional . Mencoba memperbarui jenis ruang dengan cara lain akan menghasilkan error argumen yang tidak valid.
    • spaceDetails: Detail tentang ruang termasuk deskripsi dan aturan.
    • spaceHistoryState: Mendukung mengaktifkan atau menonaktifkan histori untuk ruang jika organisasi mengizinkan pengguna mengubah setelan histori mereka. Tidak dapat muncul bersamaan dengan semua jalur kolom lainnya.

Berikut cara mengupdate spaceDetails dari ruang yang sudah ada:

Python

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

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.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.spaces"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates the specified space description and guidelines.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().patch(
    
          # The space to update, and the updated space details.
          #
          # Replace {space} with a space name.
          # Obtain the space name from the spaces resource of Chat API,
          # or from a space's URL.
          name='spaces/SPACE',
          updateMask='spaceDetails',
          body={
    
            'spaceDetails': {
              'description': 'This description was updated with Chat API!',
              'guidelines': 'These guidelines were updated with Chat API!'
            }
    
          }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti SPACE dengan nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

  4. Di direktori kerja Anda, buat dan jalankan contoh:

    python3 chat_space_update.py
    

Node.js

  1. Di direktori kerja Anda, buat file bernama update-space.js.
  2. Sertakan kode berikut di update-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a Chat space with the description and guidelines.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.patch({
        name: 'spaces/SPACE',
        updateMask: 'spaceDetails',
        requestBody: {
          spaceDetails: {
            description: 'This description was updated with Chat API!',
            guidelines: 'These guidelines were updated with Chat API!'
          },
        }
      });
    }
    
    updateSpace().then(console.log);
    
  3. Dalam kode, ganti SPACE dengan nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

  4. Di direktori kerja Anda, jalankan contoh:

    node update-space.js
    

Google Chat API menampilkan instance resource Space yang mencerminkan update.