Bir mesaj ekiyle ilgili meta verileri alma

Bu kılavuzda, bir mesaj ekiyle ilgili meta verileri almak için Google Chat API'nin Media kaynağında get yönteminin nasıl kullanılacağı açıklanmaktadır. Yanıt, Attachment kaynağının bir örneğidir.

Kullanıcı uygulamanıza mesaj gönderdiğinde Google Chat bir MESSAGE etkileşim etkinliği gönderir. Uygulamanızın aldığı etkileşim etkinliği, istek gövdesini içerir. Bu, ekler de dahil olmak üzere etkileşim etkinliğini temsil eden JSON yüküdür. Ekteki veriler, ekin yüklenen içerik mi (yerel dosya) yoksa Drive'da depolanan bir dosya mı olduğuna bağlı olarak farklılık gösterir. Media kaynağı, Google Chat'e yüklenen bir dosyayı (resim, video ve doküman gibi) temsil eder. Attachment kaynağı, bir mesaja eklenmiş medya örneğini (dosya) temsil eder. Attachment kaynağı, ekle ilgili meta verileri (ör. dosyanın kaydedildiği yer) içerir.

Ö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ı. Mesaj almak için chat.bot yetkilendirme kapsamıyla uygulama kimlik doğrulaması gerekir.

Mesaj eki alma

Google Chat'teki bir mesaj ekiyle ilgili meta verileri eşzamansız olarak almak için isteğinizde aşağıdakileri iletin:

Bir mesaj ekiyle ilgili meta verileri şu şekilde alabilirsiniz:

Python

  1. Çalışma dizininizde chat_get_message_attachment.py adında bir dosya oluşturun.
  2. chat_get_message_attachment.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)
    
    # Get a Chat message.
    result = chat.spaces().messages().attachments().get(
    
        # The message 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.
        #
        # Replace MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. Koddaki spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT ifadesini, mesaj eki adıyla değiştirin.

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

    python3 chat_get_message_attachment.py
    

Chat API, belirtilen mesaj ekiyle ilgili meta verilerin ayrıntılarını gösteren bir Attachment örneği döndürür.