Bu kılavuzda, üyelik oluşturma olarak da bilinen alanlara kullanıcı, Google grubu veya Chat uygulaması davet etmek ya da eklemek için Google Chat API'nin membership
kaynağında create
yöntemini nasıl kullanacağınız 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 alana davet edilip edilmediğini, bir kısmının olup olmadığını ya da bir alanda mevcut olup olmadığını belirtir.
Ö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 Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
Chat uygulaması için yetkilendirme yapılandırıldı. Üyelik oluşturmak için
chat.memberships
veyachat.memberships.app
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.
Node.js
- Node.js ve npm
Node.js için en yeni Google istemci kitaplıkları. Bunları yüklemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
npm install @google-cloud/local-auth @googleapis/chat
- Google Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
Chat uygulaması için yetkilendirme yapılandırıldı. Üyelik oluşturmak için
chat.memberships
veyachat.memberships.app
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması gerekir.
Bir alana kullanıcı davet etme veya kullanıcı ekleme
Bir alana kullanıcı davet etmek veya bir alana kullanıcı eklemek için isteğinizde aşağıdaki bilgileri iletin:
chat.memberships
yetkilendirme kapsamını belirtin.membership
kaynağındacreate
yöntemini çağırın.parent
değerini, üyelik oluşturulacak alanın kaynak adı olarak belirleyin.member
değeriniusers/{user}
olarak ayarlayın. Burada{user}
, üyelik oluşturmak istediğiniz kişidir ve şunlardan biridir:- People API'deki kişinin kimliği. Örneğin, People API kişisi
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 kişisi
Aşağıdaki örnekte bir alana kullanıcı eklenir:
Python
- Çalışma dizininizde
chat_membership_user_create.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_membership_user_create.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.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()
Bu kodda, aşağıdakini değiştirin:
SPACE
: Bir alan adı. Bu bilgiyi Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebilirsiniz.USER
: bir kullanıcı kimliği.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_user_create.py
Node.js
- Çalışma dizininizde
add-user-to-space.js
adlı bir dosya oluşturun. Aşağıdaki kodu
add-user-to-space.js
bölümüne ekleyin:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the user to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/USER', type: 'HUMAN'}} }); } addUserToSpace().then(console.log);
Bu kodda, aşağıdakini değiştirin:
SPACE
: Bir alan adıdır. Bu bilgiyi Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebilirsiniz.USER
: bir kullanıcı kimliği.
Çalışma dizininizde örneği çalıştırın:
node add-user-to-space.js
Chat API, oluşturulan kullanıcı üyeliğiyle ilgili ayrıntıların yer aldığı bir membership
örneği döndürür.
Alanlara Google Grubu davet etme veya ekleme
Bir alana Google Grubu davet etmek veya bir Google Grubu eklemek için isteğinizde aşağıdaki bilgileri iletin:
chat.memberships
yetkilendirme kapsamını belirtin.membership
kaynağındacreate
yöntemini çağırın.parent
değerini, üyelik oluşturulacak alanın kaynak adı olarak belirleyin.- Üyelik oluşturmak istediğiniz grup kimliğinin
{group}
olduğugroupMember
değerinigroups/{group}
olarak ayarlayın. Grubun kimliği Cloud Identity API kullanılarak alınabilir. Örneğin Cloud Identity API,groups/123456789
adlı bir grup döndürürsemembership.groupMember.name
değerinigroups/123456789
olarak ayarlayın.
Google Grupları, grup sohbetine veya doğrudan mesaja değil, yalnızca adlandırılmış bir alana eklenebilir. Aşağıdaki örnekte, adlandırılmış bir alana bir grup eklenir:
Python
- Çalışma dizininizde
chat_membership_group_create.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_membership_group_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a group 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 named space in which to create a membership. parent = 'spaces/SPACE', # Specify which group the membership is for. body = { 'groupMember': { 'name':'groups/GROUP', } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Bu kodda, aşağıdakini değiştirin:
SPACE
: Bir alan adı. Bu bilgiyi Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebilirsiniz.GROUP
: Grup kimliği.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_group_create.py
Node.js
- Çalışma dizininizde
add-group-to-space.js
adlı bir dosya oluşturun. Aşağıdaki kodu
add-group-to-space.js
bölümüne ekleyin:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the group to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {groupMember: {name: 'groups/GROUP'}} }); } addUserToSpace().then(console.log);
Bu kodda, aşağıdakini değiştirin:
SPACE
: Bir alan adıdır. Bu bilgiyi Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebilirsiniz.GROUP
: Grup kimliği.
Çalışma dizininizde örneği çalıştırın:
node add-group-to-space.js
Chat API, oluşturulan grup üyeliğiyle ilgili ayrıntıları içeren bir membership
örneği döndürür.
Alanlara Chat uygulaması ekleme
Bir Chat uygulaması, bir alana üye olarak başka bir uygulama ekleyemez. Bir alana veya iki gerçek kullanıcı arasındaki doğrudan mesajlara 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
değerini, üyelik oluşturulacak alanın kaynak adı olarak belirleyin.member
öğesiniusers/app
olarak ayarlayın. Bu takma ad, Chat API'yi çağıran uygulamayı temsil eder.
Aşağıdaki örnek, bir alana Chat uygulaması ekler:
Python
- Çalışma dizininizde
chat_membership_app_create.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_membership_app_create.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.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()
Kodda
SPACE
alanını bir alan adıyla değiştirin. Bu adı, Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden öğrenebilirsiniz.Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_app_create.py
Node.js
- Çalışma dizininizde
add-app-to-space.js
adlı bir dosya oluşturun. Aşağıdaki kodu
add-app-to-space.js
bölümüne ekleyin:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the app to the Chat space. * @return {!Promise<!Object>} */ async function addAppToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships.app', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/app', type: 'BOT'}} }); } addAppToSpace().then(console.log);
Kodda
SPACE
alanını bir alan adıyla değiştirin. Bu adı, Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden öğrenebilirsiniz.Çalışma dizininizde örneği çalıştırın:
node add-app-to-space.js
Chat API, oluşturulan uygulama üyeliğiyle ilgili ayrıntıların yer aldığı 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ıları öğrenin.
- Bir alandaki üyeleri listeleyin.
- Google Chat alanındaki kullanıcıların üyeliğini güncelleyin.
- Bir kullanıcıyı veya Chat uygulamasını alandan kaldırın.