Bu kılavuzda, doğrudan mesaj (DM) alanı hakkında ayrıntılı bilgi edinmek için Google Chat API'nin Space
kaynağındaki findDirectMessage
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'ler), 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 uygulamaları 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ğrulamak, bir Chat uygulamasının Google Chat'te erişebildiği DM'leri (örneğin, üyesi olduğu DM'ler) almasına olanak tanır. Kullanıcı kimlik doğrulaması ile kimlik doğrulama, kimliği doğrulanan kullanıcının erişebildiği DM'leri döndürür.
Ö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-httplib2 google-auth-oauthlib oauth2client
Yayınlanmış bir Chat uygulaması. Chat uygulaması oluşturup yayınlamak için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
Chat uygulaması için yetkilendirme yapılandırıldı. Doğrudan mesaj bulma şu ikisini de destekler:
chat.spaces.readonly
veyachat.spaces
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması.chat.bot
yetkilendirme kapsamıyla uygulama kimlik doğrulaması.
Doğrudan mesajları bulma
Google Chat'te doğrudan bir mesajı bulmak için isteğinizde aşağıdakileri iletin:
- Uygulama kimlik doğrulaması ile
chat.bot
yetkilendirme kapsamını belirtin. Kullanıcı kimlik doğrulaması ilechat.spaces.readonly
veyachat.spaces
yetkilendirme kapsamını belirtin. User
kaynağındafindDirectMessage
yöntemini çağırarak DM'de diğer kullanıcınınname
değerini geri döndürebilirsiniz. Kullanıcı kimlik doğrulaması ile bu yöntem, çağıran kullanıcı ve belirtilen kullanıcı arasındaki bir DM'yi döndürür. Uygulama kimlik doğrulaması ile bu yöntem, çağrı yapan uygulama ile belirtilen kullanıcı arasında bir DM döndürür.- Alan üyesi olarak bir insan kullanıcıyı eklemek için
users/{user}
değerini belirtin. Burada{user}
, People API'dekiperson
için{person_id}
veya Directory API'deki biruser
kimliği olmalıdır. Örneğin, People API kişisiresourceName
people/123456789
iseusers/123456789
ilemember.name
üyeliği ekleyerek kullanıcıyı alana ekleyebilirsiniz.
Kullanıcı kimlik doğrulaması içeren doğrudan mesajları bulma
Kullanıcı kimlik doğrulaması içeren doğrudan mesajları şu şekilde bulabilirsiniz:
Python
- Çalışma dizininizde
chat_space_find_dm_user.py
adında bir dosya oluşturun. chat_space_find_dm_user.py
içine şu kodu ekleyin:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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 created membership. print(result) if __name__ == '__main__': main()
Koddaki
USER
değerini, Google Chat'teUser
öğesininname
ile değiştirin.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_space_find_dm_user.py
Chat API, belirtilen DM'yi ayrıntılarıyla belirten bir Space
örneği döndürür.
Uygulama kimlik doğrulamasıyla doğrudan mesajları bulma
Uygulama kimlik doğrulaması içeren doğrudan mesajları şu şekilde bulabilirsiniz:
Python
- Çalışma dizininizde
chat_space_find_dm_app.py
adında bir dosya oluşturun. chat_space_find_dm_app.py
içine şu kodu ekleyin:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # 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)
Koddaki
USER
değerini, Google Chat'teUser
öğesininname
ile değiştirin.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_space_find_dm_app.py
Chat API, belirtilen DM'yi ayrıntılarıyla belirten bir Space
örneği döndürür.
İlgili konular
- Alan oluşturun.
- Alan oluşturun.
- Bir alanla ilgili ayrıntıları öğrenme.
- Alanları listeleyin.
- Bir alanı güncelleme.
- Alan silme.