Doğrudan mesaj (DM) alanı bulma

Bu kılavuzda, findDirectMessage yönteminin Space üzerinde nasıl kullanılacağı açıklanmaktadır. Doğrudan mesaj (DM) alanıyla ilgili ayrıntıları öğrenmek için Google Chat API'nin kaynağı.

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

ile kimlik doğrulama uygulama kimlik doğrulaması bir Chat uygulamasının Chat uygulaması, Google Chat'te şunlara erişebilir: (örneğin, üyesi olduğu DM'ler). ile kimlik doğrulama kullanıcı kimlik doğrulaması, kimliği doğrulanmış kullanıcının erişimine açık.

Ön koşullar

Python

Node.js

Doğrudan mesajları bulma

Google Chat'te bir doğrudan mesajı bulmak için aşağıdakileri iletin: talebiniz:

  • Uygulama kimlik doğrulaması ile chat.bot yetkilendirme kapsamı. Entegre kullanıcı kimlik doğrulaması, chat.spaces.readonly veya chat.spaces yetkilendirme kapsamını belirtin.
  • Şunu çağırın: findDirectMessage yöntem User kaynağında, name diğer kullanıcının geri dönmesini sağlar. Entegre kullanıcı kimlik doğrulaması, bu yöntem arayan kullanıcı ile belirtilen kullanıcı arasında bir DM döndürür. Entegre uygulama kimlik doğrulaması, bu yöntem arama uygulaması ile belirtilen kullanıcı arasında bir DM döndürür.
  • Bir gerçek kullanıcıyı alan üyesi olarak eklemek için users/{user} değerini belirtin. Burada {user}, öğe için {person_id} person People API'den veya bir kullanıcının user bulun. Örneğin, People API'deki kullanıcı resourceName people/123456789 ise, member.name olarak users/123456789 ile üyeliğe kaydoldunuz.

Kullanıcı kimlik doğrulamasıyla doğrudan mesajları bulma

Şu şekilde doğrudan mesajları bulmak için: kullanıcı kimlik doğrulaması:

Python

  1. Çalışma dizininizde chat_space_find_dm_user.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_space_find_dm_user.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 returns details about a specified DM.
        '''
    
        # 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().findDirectMessage(
    
              # The other user in the direct message (DM) to return.
              #
              # Replace USER with a user name.
              name='users/USER'
    
          ).execute()
    
        # Prints details about the direct message.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda, USER yerine name Google Chat'te User.

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

    python3 chat_space_find_dm_user.py
    

Node.js

  1. Çalışma dizininizde şu ada sahip bir dosya oluşturun: find-direct-message-space.js

  2. Aşağıdaki kodu find-direct-message-space.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Find a direct message Chat space for a user.
    * @return {!Promise<!Object>}
    */
    async function findDirectMessageSpace() {
      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.findDirectMessage(
          {name: 'users/USER'});
    }
    
    findDirectMessageSpace().then(console.log);
    
  3. Kodda, USER yerine name Google Chat'te User.

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

    node find-direct-message-space.js
    

Chat API, Space içeren bir e-posta alırsınız.

Uygulama kimlik doğrulamasıyla doğrudan mesajları bulma

Şu şekilde doğrudan mesajları bulmak için: uygulama kimlik doğrulaması:

Python

  1. Çalışma dizininizde chat_space_find_dm_app.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_space_find_dm_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().findDirectMessage(
    
        # The other user in the direct message (DM) to return.
        #
        # Replace USER with a user name.
        name='users/USER'
    
    ).execute()
    
    print(result)
    
  3. Kodda, USER yerine name Google Chat'te User.

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

    python3 chat_space_find_dm_app.py
    

Node.js

  1. Çalışma dizininizde şu ada sahip bir dosya oluşturun: app-find-direct-message-space.js

  2. Aşağıdaki kodu app-find-direct-message-space.js bölümüne ekleyin:

    const chat = require('@googleapis/chat');
    
    /**
    * Find a direct message Chat space for a user.
    * @return {!Promise<!Object>}
    */
    async function findDirectMessageSpace() {
      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.findDirectMessage(
          {name: 'users/USER'});
    }
    
    findDirectMessageSpace().then(console.log);
    
  3. Kodda, USER yerine name Google Chat'te User.

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

    node app-find-direct-message-space.js
    

Chat API, Belirtilen DM ile ilgili ayrıntıları içeren Space.