Alanları listeleyin

Bu kılavuzda, list kaynağının Space kaynağında nasıl kullanılacağı açıklanmaktadır. Google Chat API'yi kullanın. Alanların listelenmesi, sayfalandırılmış, filtrelenebilir bir sayfa döndürüyor alan listesidir.

İlgili içeriği oluşturmak için kullanılan Space kaynak kullanıcıların ve Chat uygulamalarının mesaj gönderebildiği, dosya paylaşabilir ve ortak çalışabilirsiniz. Birkaç alan türü vardır:

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

Şununla alanları listeleme: uygulama kimlik doğrulaması Chat uygulamasının erişebildiği alanları listeler. Giriş şunun olduğu alanlar: Kullanıcı kimlik doğrulaması Kimliği doğrulanmış kullanıcının erişebildiği alanları listeler.

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • En yeni Google istemci kitaplıkları. Bu uygulamaları 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
    

Node.js

  • Node.js 14 veya sonraki sürümler
  • npm paket yönetim aracı
  • En yeni Google istemci kitaplıkları. Bu uygulamaları yüklemek veya güncellemek 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
    

Kullanıcı kimlik doğrulamasıyla alanları listeleyin

Google Chat'te alanları listelemek için istek:

Aşağıdaki örnekte adlandırılmış alanlar ve grup sohbetleri listelenmektedir (doğrudan değil). kullanıcı tarafından görülebilecek filtre sayısını gösterir:

Python

  1. Çalışma dizininizde chat_space_list.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_space_list.py bölümüne 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 lists named spaces and group chats (but not direct messages)
        visible to the authenticated user.
        '''
    
        # 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().list(
    
              # An optional filter that returns named spaces or unnamed group chats,
              # but not direct messages (DMs).
              filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
          ).execute()
    
        # Prints the returned list of spaces.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_space_list.py
    

Node.js

  1. Çalışma dizininizde list-spaces.js adlı bir dosya oluşturun.
  2. Aşağıdaki kodu list-spaces.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      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.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Çalışma dizininizde örneği çalıştırın:

    node list-spaces.js
    

Chat API, adlandırılmış alanlar ve grup sohbetlerinden oluşan sayfalara ayrılmış bir dizi.

Uygulama kimlik doğrulamasıyla alanları listeleyin

Google Chat'te alanları listelemek için istek:

Aşağıdaki örnekte adlandırılmış alanlar ve grup sohbetleri listelenmektedir (doğrudan değil). Chat uygulamasında görünür:

Python

  1. Çalışma dizininizde chat_space_list_app.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_space_list_app.py bölümüne 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().list(
    
            # An optional filter that returns named spaces or unnamed
            # group chats, but not direct messages (DMs).
            filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
        ).execute()
    
    print(result)
    
  3. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_space_list_app.py
    

Node.js

  1. Çalışma dizininizde app-list-spaces.js adlı bir dosya oluşturun.
  2. Aşağıdaki kodu app-list-spaces.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      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.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Çalışma dizininizde örneği çalıştırın:

    node app-list-spaces.js
    

Chat API, sayfalara ayrılmış bir dizi alan döndürür.

Sayfalara ayırma veya listeyi filtreleme

Google Chat'te alanları listelemek için aşağıdaki isteğe bağlı belgeleri iletin listelenen alanları sayfalandırmayı özelleştirmek veya filtrelemek için sorgu parametrelerini tıklayın:

  • pageSize: Döndürülecek maksimum boşluk sayısı. Hizmet geri dönebilir daha az olmalıdır. Belirtilmezse en fazla 100 alan döndürülür. İlgili içeriği oluşturmak için kullanılan maksimum değer 1.000'dir; 1.000'in üzerindeki değerler otomatik olarak 1.000.
  • pageToken: Önceki bir alan liste çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bu jetonu sağlayın. Sayfalara ayırırken filtre değerinin, sayfa jetonunu sağlayan çağrıyla eşleşmesi gerekir. Doğru cevap beklenmedik sonuçlara yol açabilir.
  • filter: Sorgu filtresi. Desteklenen sorgu ayrıntıları için bkz. spaces.list yöntemini kullanın.