İlk üyelerin bulunduğu bir 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 bir 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), 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 uygulaması 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:

  • Arayan (kimliği doğrulanmış) kullanıcı alana otomatik olarak eklenir. Bu nedenle istekte kullanıcının üyeliğini belirtmeniz gerekmez.
  • Doğrudan mesaj (DM) oluştururken, iki kullanıcı arasında bir DM varsa bu DM döndürülür. Aksi takdirde bir DM oluşturulur.
  • Grup sohbeti oluştururken, istekte sağlanan üyeliklerden hiçbiri grup sohbetine başarıyla eklenmezse (örneğin, izin sorunu) boş bir grup sohbeti (yalnızca arayan kullanıcı dahil) oluşturulabilir.
  • Mesaj dizili yanıtlar içeren alanlar oluşturamaz veya Google Workspace dışından kullanıcı ekleyemezsiniz.
  • İstekte sağlanan yinelenen üyelikler (arayan kullanıcı dahil) istek hatasına neden olmak yerine filtrelenir.

Ö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-oauthlib
    
  • Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Alan ayarlamak için chat.spaces.create veya chat.spaces yetkilendirme kapsamıyla Kullanıcı kimlik doğrulaması gerekir.

Node.js

  • Node.js ve npm
  • Node.js için en yeni Google istemci kitaplıkları. Bunları yüklemek 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
    
  • Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Alan oluşturmak için chat.spaces.create veya chat.spaces yetkilendirme kapsamıyla Kullanıcı kimlik doğrulaması yapılması 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ğinin değeridir. Örneğin, People API çalışanı resourceName people/123456789 ise kullanıcıyı alana users/123456789 ile member.name üyeliği ekleyerek ekleyebilirsiniz.
  • Arayan kullanıcıyla 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.
  • Arayan kullanıcı ile çağrı yapan uygulama arasında bir DM oluşturmak için Space.singleUserBotDm değerini true olarak ayarlayın ve herhangi bir üyelik belirtmeyin. Bu yöntemi yalnızca arama uygulamasıyla bir DM ayarlamak için kullanabilirsiniz. Görüşmeyi bir alanın veya iki gerçek kullanıcı arasındaki mevcut bir DM'nin üyesi 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 kimliği doğrulanmış kullanıcı ile belirtilen diğer iki kullanıcı olmak üzere üç insan 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:

    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.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 derleyip çalıştırın:

    python3 chat_space_setup.py
    

Node.js

  1. Çalışma dizininizde setup-space.js adında bir dosya oluşturun.
  2. setup-space.js içine şu kodu ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Sets up a new Chat space with users.
    * @return {!Promise<!Object>}
    */
    async function setupSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.create',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.setup({
        requestBody: {
          space: {
            spaceType: 'SPACE',
            displayName: 'API-made',
          },
          memberships: [
            {member: {name: 'users/123456789', type: 'HUMAN'}},
            {member: {name: 'users/987654321', type: 'HUMAN'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Çalışma dizininizde örneği çalıştırın:

    node setup-space.js
    

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

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