Bu kılavuzda, üyelik oluşturma olarak da bilinen bir alana kullanıcı veya Chat uygulaması davet etmek ya da eklemek için Google Chat API'nin membership
kaynağındaki create
yönteminin nasıl kullanılacağı açıklanmaktadır. Üyelik oluştururken, belirtilen üyenin otomatik kabul politikası devre dışıysa davet edilir ve katılmadan önce alan davetini kabul etmesi gerekir. Aksi takdirde, üyelik oluşturulduğunda üye doğrudan belirtilen alana eklenir.
Membership
kaynağı, bir insan kullanıcının veya Google Chat uygulamasının bir alana davet edilip edilmediğini, bir alanın bir parçası olarak veya bir alanda bulunmayanı gösterir.
Ö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.
Yetkilendirme, Chat uygulaması için yapılandırıldı. Üyelik oluşturmak için
chat.memberships
veyachat.memberships.app
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.
Kullanıcıları bir alana davet etme veya ekleme
Bir alana kullanıcı davet etmek veya eklemek için isteğinizde aşağıdakileri iletin:
chat.memberships
yetkilendirme kapsamını belirtin.membership
kaynağındacreate
yöntemini çağırın.parent
öğesini, üyelik oluşturulacak alanın kaynak adı olarak ayarlayın.member
değeriniusers/{user}
olarak ayarlayın. Burada{user}
, üyelik oluşturmak istediğiniz kişidir ve şunlardan biri olur:- People API'deki kişinin kimliği. Örneğin People API person
resourceName
,people/123456789
isemembership.member.name
değeriniusers/123456789
olarak ayarlayın. - Directory API'deki kullanıcının kimliği.
- Kullanıcının e-posta adresi. Örneğin,
users/222larabrown@gmail.com
veyausers/larabrown@cymbalgroup.com
. Kullanıcı bir Google Hesabı kullanıyorsa veya farklı bir Google Workspace kuruluşuna aitse kullanıcının e-posta adresini kullanmanız gerekir.
- People API'deki kişinin kimliği. Örneğin People API person
Aşağıdaki örnekte bir alana kullanıcı eklenir:
Python
- Çalışma dizininizde
chat_membership_user_create.py
adında bir dosya oluşturun. chat_membership_user_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Kodda aşağıdakileri değiştirin:
SPACE
: Chat API'dekispaces.list
yönteminden veya alanın URL'sinden edinebileceğiniz bir alan adıdır.USER
: bir kullanıcı kimliği.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_user_create.py
Chat API, oluşturulan üyelikle ilgili ayrıntıları içeren bir membership
örneği döndürür.
Alanlara Chat uygulaması ekleme
Bir Chat uygulaması, alana üye olarak başka bir uygulama ekleyemez. Bir alana veya iki gerçek kullanıcı arasındaki doğrudan mesaja Chat uygulaması eklemek için isteğinizde aşağıdakileri iletin:
chat.memberships.app
yetkilendirme kapsamını belirtin.membership
kaynağındacreate
yöntemini çağırın.parent
öğesini, üyelik oluşturulacak alanın kaynak adı olarak ayarlayın.member
alanınıusers/app
olarak ayarlayın. Bu takma ad, Chat API'yi çağıran uygulamayı temsil eden bir takma addır.
Aşağıdaki örnekte bir alana Chat uygulaması eklenir:
Python
- Çalışma dizininizde
chat_membership_app_create.py
adında bir dosya oluşturun. chat_membership_app_create.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.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat space. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Koddaki
SPACE
yerine, Chat API'dekispaces.list
yönteminden veya alanın URL'sinden alabileceğiniz bir alan adı girin.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_app_create.py
Chat API, oluşturulan üyelikle ilgili ayrıntıları içeren bir membership
örneği döndürür.
İlgili konular
- Bir kullanıcının veya Chat uygulamasının üyeliğiyle ilgili ayrıntılı bilgi edinin.
- Alandaki üyeleri listeleyin.
- Bir kullanıcıyı veya Chat uygulamasını alandan kaldırma.