Alanlarla ilgili ayrıntıları alma

Bu rehberde, bir alanla ilgili görünen adı, açıklaması ve yönergeleri gibi ayrıntıları görmek için Google Chat API'nin Space kaynağında get yönteminin nasıl kullanılacağı açıklanmaktadır.

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.

Uygulama kimlik doğrulaması ile kimlik doğrulama, bir Chat uygulamasının, Chat uygulamasının Google Chat'te erişebildiği alanlara (örneğin, uygulamanın üyesi olduğu alanlar) erişmesine olanak tanır. Kullanıcı kimlik doğrulaması ile kimlik doğrulama, kimliği doğrulanmış kullanıcının erişebildiği alanları almanızı sağlar.

Ö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-auth
    
  • 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 alınması, aşağıdaki kimlik doğrulama yöntemlerinin her ikisini de destekler:

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 alınması, aşağıdaki kimlik doğrulama yöntemlerinin her ikisini de destekler:

Alan al

Google Chat'te alan açmak için isteğinizde aşağıdakileri iletin:

Kullanıcı kimlik doğrulamasıyla alan ayrıntılarını alma

Kullanıcı kimlik doğrulaması ile alan ayrıntılarını şu şekilde alabilirsiniz:

Python

  1. Çalışma dizininizde chat_space_get_user.py adında bir dosya oluşturun.
  2. chat_space_get_user.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.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    python3 chat_space_get_user.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    node get-space.js
    

Chat API, belirtilen alanı ayrıntılarıyla belirten bir Space örneği döndürür.

Uygulama kimlik doğrulamasıyla alan ayrıntılarını alma

Uygulama kimlik doğrulaması ile alan ayrıntılarını şu şekilde alabilirsiniz:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list() yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    python3 chat_space_get_app.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Kodda, SPACE değerini Chat API'deki spaces.list yönteminden veya alanın URL'sinden alabileceğiniz bir alan adıyla değiştirin.

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

    node app-get-space.js
    

Chat API, belirtilen alanı ayrıntılarıyla belirten bir Space örneği döndürür.