Alan oluşturma

Bu kılavuzda, Google Chat alanı oluşturmak için Google Chat API'nin Space kaynağında setup yönteminin nasıl kullanılacağı açıklanmaktadır. Alan oluşturulduğunda alan oluşturulur ve belirtilen kullanıcılar alana eklenir.

Space kaynağı, kullanıcıların ve Chat uygulamalarının mesaj gönderebileceği, dosya paylaşabileceği ve ortak çalışma yapabileceği bir yeri temsil eder. Birkaç alan türü vardır:

  • Doğrudan mesajlar (DM'ler), iki kullanıcı veya bir kullanıcı ile bir Chat uygulaması arasındaki görüşmelerdir.
  • Grup sohbetleri, üç veya daha fazla kullanıcı ile Chat uygulamaları arasındaki görüşmelerdir.
  • Adlandırılmış alanlar, kullanıcıların mesaj gönderdiği, dosya paylaştığı ve ortak çalışma yaptığı kalıcı yerlerdir.

Alan oluştururken aşağıdakileri göz önünde bulundurun:

  • Çağrı yapan (kimliği doğrulanmış) kullanıcı alana otomatik olarak eklenir. Böylece istekte kullanıcının üyeliğini belirtmeniz gerekmez.
  • Doğrudan mesaj (DM) oluştururken, iki kullanıcı arasında bir DM varsa DM döndürülür. Aksi takdirde bir DM oluşturulur.
  • Mesaj dizili yanıtlar içeren alanlar oluşturamazsınız veya Google Workspace dışından kullanıcı ekleyemezsiniz.

Ö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.

  • Chat uygulaması için yetkilendirme yapılandırıldı. Alan ayarlamak için chat.spaces.create veya chat.spaces yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.

Alan oluşturma

Alan oluşturmak için isteğinizde aşağıdakileri iletin:

  • chat.spaces.create veya chat.spaces yetkilendirme kapsamını belirtin.
  • Space kaynağında setup yöntemini çağırın.
  • Alan üyesi olarak bir insan kullanıcıyı eklemek için users/{user} değerini belirtin. Burada {user}, People API'deki person için {person_id} veya Directory API'deki bir user kimliği olmalıdır. Örneğin, People API kişisi resourceName people/123456789 ise users/123456789 ile member.name üyeliği ekleyerek bu kullanıcıyı alana ekleyebilirsiniz.
  • Çağrı yapan kullanıcı ile başka bir gerçek kullanıcı arasında bir DM oluşturmak için isteğinizde insan kullanıcının üyeliğini belirtin.
  • Çağrı yapan kullanıcı ile çağrı yapan uygulama arasında bir DM oluşturmak için Space.singleUserBotDm öğesini true olarak ayarlayın ve herhangi bir üyelik belirtmeyin. Bu yöntemi yalnızca çağrı uygulamasıyla bir DM ayarlamak için kullanabilirsiniz. Arama uygulamasını, bir alanın üyesi veya iki gerçek kullanıcı arasındaki mevcut bir DM olarak eklemek için üyelik oluşturma bölümüne bakın.

Aşağıdaki örnek, adlandırılmış bir alan oluşturur ve üç gerçek kullanıcı (kimliği doğrulanmış kullanıcı ve belirtilen diğer iki kullanıcı) için alana üyelikler oluşturur:

Python

  1. Çalışma dizininizde chat_space_setup.py adında bir dosya oluşturun.
  2. chat_space_setup.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.spaces.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then sets up a Chat space by creating a space and adding members.
        '''
    
        # 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().setup(
    
          # Details about the space to set up.
          body = {
    
            # Attributes of the space to set up, like space type and display name.
            'space': {
    
                # To set up a named space, set spaceType to SPACE.
                'spaceType': 'SPACE',
    
                # The user-visible name of the space
                'displayName': 'API-setup'
            },
    
            # The people and app to add to the space.
            #
            # The authenticated user is automatically added to the space,
            # and doesn't need to be specified in the memberships array.
            'memberships': [
                {
                  'member': {
                    'name':'users/123456789',
                    'type': 'HUMAN'
                  }
                },
                {
                  'member': {
                    'name':'users/987654321',
                    'type': 'HUMAN'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_space_setup.py
    

Kimliği doğrulanmış kullanıcı da dahil olmak üzere üç insan kullanıcının bulunduğu bir adlandırılmış sohbet alanı oluşturulur.

Alana gitmek için alanın URL'sini oluşturmak üzere alanın kaynak kimliğini kullanın. Kaynak kimliğini, Google Chat yanıt gövdesinde name alanından alabilirsiniz. Örneğin, alanınızın namespaces/1234567 ise alana şu URL'yi kullanarak gidebilirsiniz: https://mail.google.com/chat/u/0/#chat/space/1234567.