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:
chat.bot
yetkilendirme kapsamını belirtin.Attachment
kaynağındakiget
yöntemini çağırın,- Mesaj ekinin
name
metnini iletin.
Bir mesaj ekiyle ilgili meta verileri şu şekilde alabilirsiniz:
Python
- Çalışma dizininizde
chat_get_message_attachment.py
adında bir dosya oluşturun. 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)
Koddaki
spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT
ifadesini, mesaj eki adıyla değiştirin.Ç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.