Bir kullanıcının Google Chat alanındaki üyeliğini güncelleme

Bu kılavuzda, membership kaynağında patch yönteminin nasıl kullanılacağı açıklanmaktadır. Örneğin, Google Chat API'nin üyelikle ilgili özelliklerini değiştirmek, alan üyesini alan yöneticisine veya alan yöneticisini alan üyesi olarak değiştirebilirsiniz.

İlgili içeriği oluşturmak için kullanılan Membership kaynak bir gerçek kullanıcının veya Google Chat uygulamasının davet edilip edilmediğini bir alanın parçası olan ya da olmayan

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • En yeni Google istemci kitaplıkları. Bu uygulamaları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Node.js

  • Node.js 14 veya sonraki sürümler
  • npm paket yönetim aracı
  • En yeni Google istemci kitaplıkları. Bu uygulamaları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
    npm install @google-cloud/local-auth @googleapis/chat
    

Apps Komut Dosyası

Üyelik güncelleme

Alan üyeliğini güncellemek için isteğinizde aşağıdaki bilgileri iletin:

  • chat.memberships yetkilendirme kapsamını belirtin.
  • Şunu çağırın: patch yöntem Membership kaynağında, ve güncellemek için üyelikten name ile updateMask ve güncellenen üyelik özelliklerini belirten bir body ekleyin.
  • updateMask, üyeliğin güncellenecek özelliklerini belirtir ve şunları içerir:
    • role: Kullanıcının Chat alanında izin verilen rolü. işlem olarak görebilirsiniz. Olası değerler:
      • ROLE_MEMBER: Alanın bir üyesidir. Kullanıcı temel izinlere sahiptir. Örneğin, alana mesaj gönderebilirsiniz. 1:1 ve adsız grupta bu rolde herkes rol oynar.
      • ROLE_MANAGER: Alan yöneticisi. Kullanıcı tüm temel izinlere ve ek olarak alanı yönetmelerine olanak tanıyan yönetim izinlerini (örneğin, kullanıcı ekleme veya üye kaldırılıyor. Yalnızca spaceType değerinin SPACE olduğu alanlarda desteklenir (adlandırılmış alanlar).

Alandaki normal bir üyeyi alan yöneticisi yapma

Aşağıdaki örnekte, body içinde güncellenen üyeliği belirten ROLE_MANAGER olarak role özellikler:

Python

  1. Çalışma dizininizde chat_membership_update.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_membership_update.py bölümüne ekleyin:

    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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().members().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MANAGER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: bir alan adı; şuradan edinebilirsiniz: spaces.list yöntem API'den veya bir alanın URL'sinden.

    • MEMBERSHIP: bir üyelik adı; şuradan edinebilirsiniz: spaces.members.list yöntem hakkındaki makalemizi incelemenizi öneririz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_membership_update.py
    

Node.js

  1. Çalışma dizininizde chat_membership_update.js adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_membership_update.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a membership in a Chat space to change it from
    * a space member to a space manager.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
    
      /**
      * Authenticate with Google Workspace
      * and get user authorization.
      */
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      /**
      * Build a service endpoint for Chat API.
      */
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      /**
      * Use the service endpoint to call Chat API.
      */
      return await chatClient.spaces.patch({
    
        /**
        * The membership to update, and the updated role.
        *
        * Replace SPACE with a space name.
        * Obtain the space name from the spaces resource of Chat API,
        * or from a space's URL.
        *
        * Replace MEMBERSHIP with a membership name.
        * Obtain the membership name from the membership of Chat API.
        */
        name: 'spaces/SPACE/members/MEMBERSHIP',
        updateMask: 'role',
        requestBody: {
          role: 'ROLE_MANAGER'
        }
      });
    }
    
    /**
    * Use the service endpoint to call Chat API.
    */
    updateSpace().then(console.log);
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: bir alan adı; şuradan edinebilirsiniz: spaces.list yöntem API'den veya bir alanın URL'sinden.

    • MEMBERSHIP: bir üyelik adı; şuradan edinebilirsiniz: spaces.members.list yöntem hakkındaki makalemizi incelemenizi öneririz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_membership_update.js
    

Apps Komut Dosyası

Bu örnekte, Gelişmiş Chat Hizmeti.

  1. chat.memberships yetkilendirme kapsamını Apps Komut Dosyası projesinin appsscript.json dosyası:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.memberships"
    ]
    
  2. Apps Komut Dosyası projesinin kod:

    /**
     * Updates a membership from space member to space manager.
     * @param {string} memberName The resource name of the membership.
    */
    function updateMembershipToSpaceManager(memberName) {
      try {
        const body = {'role': 'ROLE_MANAGER'};
        Chat.Spaces.Members.patch(memberName, body);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create message with error %s', err.message);
      }
    }
    

Google Chat API, belirtilen üyeliği alan yöneticisi olarak değiştirir ve geri döner Membership örneği detaylıca değineceğiz.

Alan yöneticisini normal üye yapma

Aşağıdaki örnekte, body içinde güncellenen üyeliği belirten ROLE_MEMBER olarak role özellikler:

Python

  1. Çalışma dizininizde chat_membership_update.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_membership_update.py bölümüne ekleyin:

    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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().members().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MEMBER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: bir alan adı; şuradan edinebilirsiniz: spaces.list yöntem API'den veya bir alanın URL'sinden.

    • MEMBERSHIP: bir üyelik adı; şuradan edinebilirsiniz: spaces.members.list yöntem hakkındaki makalemizi incelemenizi öneririz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_membership_update.py
    

Node.js

  1. Çalışma dizininizde chat_membership_update.js adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_membership_update.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a membership in a Chat space to change it from
    * a space manager to a space member.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
    
      /**
      * Authenticate with Google Workspace
      * and get user authorization.
      */
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      /**
      * Build a service endpoint for Chat API.
      */
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      /**
      * Use the service endpoint to call Chat API.
      */
      return await chatClient.spaces.patch({
    
        /**
        * The membership to update, and the updated role.
        *
        * Replace SPACE with a space name.
        * Obtain the space name from the spaces resource of Chat API,
        * or from a space's URL.
        *
        * Replace MEMBERSHIP with a membership name.
        * Obtain the membership name from the membership of Chat API.
        */
        name: 'spaces/SPACE/members/MEMBERSHIP',
        updateMask: 'role',
        requestBody: {
          role: 'ROLE_MEMBER'
        }
      });
    }
    
    /**
    * Use the service endpoint to call Chat API.
    */
    updateSpace().then(console.log);
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: bir alan adı; şuradan edinebilirsiniz: spaces.list yöntem API'den veya bir alanın URL'sinden.

    • MEMBERSHIP: bir üyelik adı; şuradan edinebilirsiniz: spaces.members.list yöntem hakkındaki makalemizi incelemenizi öneririz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_membership_update.js
    

Apps Komut Dosyası

Bu örnekte, Gelişmiş Chat Hizmeti.

  1. chat.memberships yetkilendirme kapsamını Apps Komut Dosyası projesinin appsscript.json dosyası:

    "oauthScopes": [
      "https://www.googleapis.com/auth/chat.memberships"
    ]
    
  2. Apps Komut Dosyası projesinin kod:

    /**
     * Updates a membership from space manager to space member.
     * @param {string} memberName The resource name of the membership.
    */
    function updateMembershipToSpaceMember(memberName) {
      try {
        const body = {'role': 'ROLE_MEMBER'};
        Chat.Spaces.Members.patch(memberName, body);
      } catch (err) {
        // TODO (developer) - Handle exception
        console.log('Failed to create message with error %s', err.message);
      }
    }
    

Google Chat API, belirtilen üyeliği alan yöneticisi olarak değiştirir ve Membership örneği detaylıca değineceğiz.