Bir alana kullanıcı veya Google Chat uygulaması davet etme ya da ekleme

Bu kılavuzda, üyelik oluşturma olarak da bilinen bir alana kullanıcı veya Chat uygulaması davet etmek ya da eklemek için Google Chat API'nin membership kaynağındaki create yönteminin nasıl kullanılacağı açıklanmaktadır. Üyelik oluştururken, belirtilen üyenin otomatik kabul politikası devre dışıysa davet edilir ve katılmadan önce alan davetini kabul etmesi gerekir. Aksi takdirde, üyelik oluşturulduğunda üye doğrudan belirtilen alana eklenir.

Membership kaynağı, bir insan kullanıcının veya Google Chat uygulamasının bir alana davet edilip edilmediğini, bir alanın bir parçası olarak veya bir alanda bulunmayanı gösterir.

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetimi aracı
  • Python için en yeni Google istemci kitaplıkları. Bunları 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-httplib2 google-auth-oauthlib oauth2client
    
  • Yayınlanmış bir Chat uygulaması. Chat uygulaması oluşturup yayınlamak için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.

  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Üyelik oluşturmak için chat.memberships veya chat.memberships.app yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.

Kullanıcıları bir alana davet etme veya ekleme

Bir alana kullanıcı davet etmek veya eklemek için isteğinizde aşağıdakileri iletin:

  • chat.memberships yetkilendirme kapsamını belirtin.
  • membership kaynağında create yöntemini çağırın.
  • parent öğesini, üyelik oluşturulacak alanın kaynak adı olarak ayarlayın.
  • member değerini users/{user} olarak ayarlayın. Burada {user}, üyelik oluşturmak istediğiniz kişidir ve şunlardan biri olur:
    • People API'deki kişinin kimliği. Örneğin People API person resourceName, people/123456789 ise membership.member.name değerini users/123456789 olarak ayarlayın.
    • Directory API'deki kullanıcının kimliği.
    • Kullanıcının e-posta adresi. Örneğin, users/222larabrown@gmail.com veya users/larabrown@cymbalgroup.com. Kullanıcı bir Google Hesabı kullanıyorsa veya farklı bir Google Workspace kuruluşuna aitse kullanıcının e-posta adresini kullanmanız gerekir.

Aşağıdaki örnekte bir alana kullanıcı eklenir:

Python

  1. Çalışma dizininizde chat_membership_user_create.py adında bir dosya oluşturun.
  2. chat_membership_user_create.py içine şu kodu ekleyin:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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 adds a user to a Chat space by creating a membership.
        '''
    
        # 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which user the membership is for.
            body = {
              'member': {
                'name':'users/USER',
                'type': 'HUMAN'
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda aşağıdakileri değiştirin:

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

    • USER: bir kullanıcı kimliği.

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

    python3 chat_membership_user_create.py
    

Chat API, oluşturulan üyelikle ilgili ayrıntıları içeren bir membership örneği döndürür.

Alanlara Chat uygulaması ekleme

Bir Chat uygulaması, alana üye olarak başka bir uygulama ekleyemez. Bir alana veya iki gerçek kullanıcı arasındaki doğrudan mesaja Chat uygulaması eklemek için isteğinizde aşağıdakileri iletin:

  • chat.memberships.app yetkilendirme kapsamını belirtin.
  • membership kaynağında create yöntemini çağırın.
  • parent öğesini, üyelik oluşturulacak alanın kaynak adı olarak ayarlayın.
  • member alanını users/app olarak ayarlayın. Bu takma ad, Chat API'yi çağıran uygulamayı temsil eden bir takma addır.

Aşağıdaki örnekte bir alana Chat uygulaması eklenir:

Python

  1. Çalışma dizininizde chat_membership_app_create.py adında bir dosya oluşturun.
  2. chat_membership_app_create.py içine şu kodu ekleyin:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds the Chat app to a Chat space.
        '''
    
        # 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().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Set the Chat app as the entity that gets added to the space.
            # 'app' is an alias for the Chat app calling the API.
            body = {
                'member': {
                  'name':'users/app',
                  'type': 'BOT'
                }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Koddaki SPACE yerine, Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adı girin.

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

    python3 chat_membership_app_create.py
    

Chat API, oluşturulan üyelikle ilgili ayrıntıları içeren bir membership örneği döndürür.