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

Bu kılavuzda, bir üyelikle ilgili özellikleri değiştirmek (ör. alan üyesini alan yöneticisi veya alan yöneticisini alan üyesi olarak değiştirmek) için Google Chat API'nin Membership kaynağındaki update() yönteminin nasıl kullanılacağı açıklanmaktadır.

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

Membership kaynağı, gerçek kullanıcıların veya Google Chat uygulamalarının bir alana davet edilip edilmediğini, alana dahil olup olmadığını ya da alandan ayrılıp ayrılmadığı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ını belirtin:
  • UpdateMembership() yöntemini çağırın.
  • membership değerini, aşağıdakilerle birlikte 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.
  • Üyeliğin güncellenecek yönlerini belirtmek için updateMask parametresini iletin. Bu parametre aşağıdakileri içerir:
    • role: Kullanıcının Chat alanındaki rolü. Bu rol, alanda izin verilen işlemlerini belirler. Olası değerler:
      • ROLE_MEMBER: Alanın bir üyesi. Kullanıcı, alana mesaj gönderme gibi temel izinlere sahiptir. Bire bir ve adsız grup görüşmelerinde herkes bu role sahiptir.
      • ROLE_MANAGER: Alan yöneticisi. Kullanıcı, tüm temel izinlerin yanı sıra alanı yönetmesine olanak tanıyan yönetim izinlerine (ör. üye ekleme veya kaldırma) de sahiptir. Yalnızca spaceType'nin SPACE olduğu alanlarda desteklenir (adlandırılmış alanlar).

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ını kullanarak Chat API'yi çağırıyoruz:

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);

Sana Özel örneğini ç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 asynkron 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ği döndürür.

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

Aşağıdaki örnekte, role değerini ROLE_MEMBER olarak belirterek bir alan yöneticisini normal bir alan üyesi yapmak için kullanıcı kimlik doğrulamasını kullanarak Chat API'si ç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);

Sana Özel örneğini ç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 asynkron 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ği döndürür.

Chat uygulamasında normal bir alan üyesini alan yöneticisi yapma

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

API anahtarı oluşturma

Geliştirici Önizlemesi API yöntemini çağırmak için API keşif belgesinin herkese açık olmayan bir Geliştirici Önizlemesi sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı göndermeniz gerekir.

API anahtarını oluşturmak için uygulamanızın Google Cloud projesini açıp aşağıdakileri yapın:

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
  3. Yeni API anahtarınız görüntülenir.
    • API anahtarınızı uygulamanızın kodunda kullanmak için Kopyala'yı seçin. API anahtarını, projenizin kimlik bilgilerinin "API anahtarları" bölümünde de bulabilirsiniz.
    • Gelişmiş ayarları güncellemek ve API anahtarınızın kullanımını sınırlamak için Anahtarı kısıtla'yı tıklayın. Daha fazla bilgi için API anahtarı kısıtlamaları uygulama başlıklı makaleyi inceleyin.

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

Aşağıdaki örnekte, güncellenmiş üyelik özelliklerini belirten body parametresinde role değerini ROLE_MANAGER olarak belirterek normal bir alan üyesini alan yöneticisi yapmak için uygulama kimlik doğrulamasını kullanarak Chat API çağrılıyor:

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 dosyasına 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, 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().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. Kodda aşağıdakileri değiştirin:

    • API_KEY: Chat API için hizmet uç noktasını oluşturmak üzere oluşturduğunuz API anahtarı.

    • SPACE: Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden alabileceğiniz bir alan adı.

    • MEMBERSHIP: Chat API'deki spaces.members.list yönteminden elde edebileceğiniz bir üyelik adı.

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

    python3 chat_membership_update_to_manager_app.py

Chat uygulamasında bir alan yöneticisini normal üye yapma

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

API anahtarı oluşturma

Geliştirici Önizlemesi API yöntemini çağırmak için API keşif belgesinin herkese açık olmayan bir Geliştirici Önizlemesi sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı göndermeniz gerekir.

API anahtarını oluşturmak için uygulamanızın Google Cloud projesini açıp aşağıdakileri yapın:

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
  3. Yeni API anahtarınız görüntülenir.
    • API anahtarınızı uygulamanızın kodunda kullanmak için Kopyala'yı seçin. API anahtarını, projenizin kimlik bilgilerinin "API anahtarları" bölümünde de bulabilirsiniz.
    • Gelişmiş ayarları güncellemek ve API anahtarınızın kullanımını sınırlamak için Anahtarı kısıtla'yı tıklayın. Daha fazla bilgi için API anahtarı kısıtlamaları uygulama başlıklı makaleyi inceleyin.

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

Aşağıdaki örnekte, güncellenmiş üyelik özelliklerini belirten body parametresinde role değerini ROLE_MEMBER olarak belirterek bir alan yöneticisini normal bir alan üyesi yapmak için uygulama kimlik doğrulamasını kullanarak 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 dosyasına 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, 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().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. Kodda aşağıdakileri değiştirin:

    • API_KEY: Chat API için hizmet uç noktasını oluşturmak üzere oluşturduğunuz API anahtarı.

    • SPACE: Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden alabileceğiniz bir alan adı.

    • MEMBERSHIP: Chat API'deki spaces.members.list yönteminden elde edebileceğiniz bir üyelik adı.

  4. Çalışma dizininizde örneği derleyip ç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ını kullanarak 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 ile true arasındaki sorgu parametresini belirtin.

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