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

Bu kılavuzda, üyelikle ilgili özellikleri değiştirmek için Google Chat API'nin Membership kaynağında update() yönteminin nasıl kullanılacağı açıklanmaktadır. Örneğin, alan üyesini alan yöneticisine veya alan yöneticisini alan üyesine dönüştürme.

Google Workspace yöneticisiyseniz Google Workspace kuruluşunuzdaki herhangi bir alanın üyeliğini güncellemek için update() yöntemini çağırabilirsiniz.

Membership kaynağı bir kullanıcının veya Google Chat uygulamasının bir alana davet edilip edilmediğini, alanda bulunup bulunmadığını ya da alanda bulunmadığını gösterir.

Ön koşullar

Node.js

Üyeliği güncelleme

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

  • Yetkilendirme kapsamı belirtin:
    • Kullanıcı kimlik doğrulaması ile chat.memberships yetkilendirme kapsamını belirtin.
    • Uygulama kimlik doğrulaması ile chat.app.memberships yetkilendirme kapsamını belirtin. Uygulama kimlik doğrulamasıyla üyelik güncellerken yalnızca Chat uygulamaları tarafından oluşturulan alanlardaki üyelikleri güncelleyebilirsiniz. Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.
  • UpdateMembership() yöntemini çağırın.
  • Aşağıdaki bilgilerle birlikte membership öğesini Membership örneği olarak iletin:
    • Güncellenecek üyeliğe ayarlanmış name alanı (alan kimliği ve üye kimliği içerir).
    • Güncellenecek üyelik alanları yeni değerlere ayarlanır.
  • Güncellenecek üyelik özelliklerini belirtmek için updateMask parametresini iletin. Bu parametre şunları içerir:
    • role: Kullanıcının Chat alanındaki rolü. Bu rol, kullanıcının alanda yapmasına izin verilen işlemleri belirler. Olası değerler:
      • ROLE_MEMBER: Alanın bir üyesi. Kullanıcı, alana mesaj gönderme gibi temel izinlere sahip olmalıdır. 1:1 görüşmelerinde ve adsız grup görüşmelerinde herkes bu role sahiptir.
      • ROLE_MANAGER: Alan yöneticisi. Kullanıcı, tüm temel izinlere ve alanın yönetilmesine olanak tanıyan (ör. üye ekleme veya kaldırma) yönetim izinlerine sahiptir. Yalnızca spaceType değerinin SPACE olduğu alanlarda (adlandırılmış alanlar) desteklenir.

Normal bir alan üyesini kullanıcı olarak alan yöneticisi yapma

Aşağıdaki örnekte, role değerini ROLE_MANAGER olarak belirterek normal bir alan üyesini alan yöneticisi yapmak için kullanıcı kimlik doğrulaması kullanılarak Chat API çağrılıyor:

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

Örneği çalıştırmak için aşağıdakileri değiştirin:

  • SPACE_NAME: Alanın name kimliği. Kimliği ListSpaces() yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.
  • MEMBER_NAME: Üyeliğin name kimliği. Kimliği, ListMemberships() yöntemini çağırarak veya Chat API ile eşzamansız olarak üyelik oluşturduktan sonra döndürülen yanıt gövdesinden alabilirsiniz.
  • ROLE_NAME: Güncellenen rol, ROLE_MANAGER.

Google Chat API, belirtilen üyeliği alan yöneticisi olarak günceller ve Membership örneğini döndürür.

Alan yöneticisini kullanıcı olarak normal üye yapma

Aşağıdaki örnekte, role değerini ROLE_MEMBER olarak belirterek alan yöneticisini normal alan üyesi yapmak için kullanıcı kimlik doğrulaması kullanılarak Chat API çağrılıyor:

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

Örneği çalıştırmak için aşağıdakileri değiştirin:

  • SPACE_NAME: Alanın name kimliği. Kimliği ListSpaces() yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.
  • MEMBER_NAME: Üyeliğin name kimliği. Kimliği, ListMemberships() yöntemini çağırarak veya Chat API ile eşzamansız olarak üyelik oluşturduktan sonra döndürülen yanıt gövdesinden alabilirsiniz.
  • ROLE_NAME: Güncellenen rol, ROLE_MEMBER.

Google Chat API, belirtilen üyeliği alan yöneticisi olarak günceller ve Membership örneğini döndürür.

Normal bir alan üyesini Chat uygulaması olarak alan yöneticisi yapma

Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.

Chat API'yi çağıran bir komut dosyası yazın

Aşağıdaki örnekte, Chat API'yi uygulama kimlik doğrulaması kullanarak çağırıp güncellenen üyelik özelliklerini belirten body içinde role değerini ROLE_MANAGER olarak belirterek normal bir alan üyesini alan yöneticisi yapma işlemi gerçekleştiriliyor:

Python

  1. Çalışma dizininizde chat_membership_update_to_manager_app.py adlı bir dosya oluşturun.
  2. chat_membership_update_to_manager_app.py'ya aşağıdaki kodu ekleyin:

    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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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)
    
        # 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. Koddaki aşağıdaki yerleri değiştirin:

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

    python3 chat_membership_update_to_manager_app.py

Alan yöneticisini Chat uygulamasında normal üye yapma

Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.

Chat API'yi çağıran bir komut dosyası yazın

Aşağıdaki örnekte, güncellenen üyelik özelliklerini belirten body içinde role değerini ROLE_MEMBER olarak belirterek alan yöneticisini normal alan üyesi yapmak için uygulama kimlik doğrulaması kullanılarak Chat API çağrılıyor:

Python

  1. Çalışma dizininizde chat_membership_update_to_member_app.py adlı bir dosya oluşturun.
  2. chat_membership_update_to_member_app.py'ya aşağıdaki kodu ekleyin:

    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.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.
        '''
    
        # 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)
    
        # 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. Koddaki aşağıdaki yerleri değiştirin:

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

    python3 chat_membership_update_to_member_app.py

Google Workspace yöneticisi olarak üyelikleri güncelleme

Google Workspace yöneticisiyseniz Google Workspace kuruluşunuzdaki herhangi bir alanın üyeliklerini güncellemek için update() yöntemini çağırabilirsiniz.

Bu yöntemi Google Workspace yöneticisi olarak çağırmak için aşağıdakileri yapın:

  • Kullanıcı kimlik doğrulamasıyla yöntemi çağırın ve yöntemin yönetici ayrıcalıkları kullanılarak çağrılmasını destekleyen bir yetkilendirme kapsamı belirtin.
  • İsteğinizde useAdminAccess sorgu parametresini true olarak belirtin.

Daha fazla bilgi ve örnek için Google Workspace yöneticisi olarak Google Chat alanlarını yönetme başlıklı makaleyi inceleyin.