Bu rehberde, üyeliklerle ilgili özellikleri (ör. alan üyesini alan yöneticisi veya alan yöneticisi olarak değiştirme) değiştirmek için Google Chat API'nin Membership
kaynağında update()
yönteminin nasıl kullanılacağı açıklanmaktadır.
Google Workspace yöneticisiyseniz Google Workspace kuruluşunuzdaki herhangi bir alanın üyeliğini güncellemek için update()
yöntemini çağırabilirsiniz.
Membership
kaynağı, gerçek kullanıcıların veya Google Chat uygulamalarının bir alana davet edilip edilmediğini, alanda yer alıp almadığını ya da alanda bulunmadığını gösterir.
Ön koşullar
Node.js
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Ortamınızı ayarlayın:
- Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Chat uygulamanızın bir adı, simgesi ve açıklamasıyla Google Chat API'yi etkinleştirin ve yapılandırın.
- Node.js Cloud İstemci Kitaplığı'nı yükleyin.
- Google Chat API isteğinizde kimliğinizi doğrulama yönteminize göre erişim kimlik bilgileri oluşturun:
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgileri oluşturun ve kimlik bilgilerini
client_secrets.json
adlı bir JSON dosyası olarak yerel dizininize kaydedin. - Chat uygulaması olarak kimlik doğrulamak için hizmet hesabı kimlik bilgileri oluşturun ve kimlik bilgilerini
credentials.json
adlı bir JSON dosyası olarak kaydedin.
- Chat kullanıcısı olarak kimlik doğrulamak için OAuth istemci kimliği kimlik bilgileri oluşturun ve kimlik bilgilerini
- Kullanıcı olarak mı yoksa Chat uygulaması olarak mı kimlik doğrulama yapmak istediğinize bağlı olarak bir yetkilendirme kapsamı seçin.
Üyeliği güncelleme
Alan üyeliğini güncellemek için isteğinizde aşağıdakileri iletin:
- Yetkilendirme kapsamı belirtin:
- Kullanıcı kimlik doğrulamasıyla
chat.memberships
yetkilendirme kapsamını belirtin. - Uygulama kimlik doğrulamasıyla (geliştirici önizlemesinde kullanılabilir)
chat.app.memberships
yetkilendirme kapsamını belirtin. Uygulama kimlik doğrulamasıyla üyelik güncellerken yalnızca Chat uygulamaları tarafından oluşturulan alanlardaki üyelikleri güncelleyebilirsiniz. Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.
- Kullanıcı kimlik doğrulamasıyla
UpdateMembership()
yöntemini çağırın.membership
değerini, aşağıdakilerle birlikteMembership
örneği olarak iletin:name
alanı, güncellenecek üyeliğe (alan kimliği ve üye kimliği dahil) ayarlanır.- Güncellenecek üyelik alanları yeni değerlere ayarlanır.
- Güncellenecek üyeliğin özelliklerini belirtmek için
updateMask
öğesini iletin. Bu özellik aşağıdakileri içerir:role
: Kullanıcının Chat alanındaki rolü. Bu rol, alanda izin verilen işlemlerini belirler. Olası değerler:ROLE_MEMBER
: Alanın bir üyesidir. Kullanıcı, alana mesaj gönderme gibi temel izinlere sahiptir. Bire bir ve adsız grup görüşmelerinde herkes bu role sahiptir.ROLE_MANAGER
: Alan yöneticisi. Kullanıcı, tüm temel izinlerin yanı sıra üye ekleme veya kaldırma gibi alanı yönetmesini sağlayan yönetim izinlerine de sahiptir. YalnızcaspaceType
'ninSPACE
olduğu alanlarda desteklenir (adlandırılmış alanlar).
Normal bir alan üyesini kullanıcı olarak alan yöneticisi yapma
Aşağıdaki örnekte, role
değerini ROLE_MANAGER
olarak belirterek normal bir alan üyesini alan yöneticisi yapmak için kullanıcı kimlik doğrulamasını kullanarak Chat API'ye çağrı yapılır:
Node.js
Sana Özel örneğini çalıştırmak için aşağıdakileri değiştirin:
SPACE_NAME
: Alanınname
kimliği. Kimliği,ListSpaces()
yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.MEMBER_NAME
: Üyeliğinname
kimliği. Kimliği,ListMemberships()
yöntemini çağırarak veya Chat API ile asynkron olarak üyelik oluşturduktan sonra döndürülen yanıt gövdesinden alabilirsiniz.ROLE_NAME
: Güncellenen rol (ROLE_MANAGER
).
Google Chat API, belirtilen üyeliği alan yöneticisi olarak günceller ve Membership
örneği döndürür.
Bir alan yöneticisini kullanıcı olarak normal üye yapma
Aşağıdaki örnekte, role
değerini ROLE_MEMBER
olarak belirterek bir alan yöneticisini normal bir alan üyesi yapmak için kullanıcı kimlik doğrulamasını kullanarak Chat API çağrılıyor:
Node.js
Örneği çalıştırmak için aşağıdaki kodu değiştirin:
SPACE_NAME
: Alanınname
kimliği. Kimliği,ListSpaces()
yöntemini çağırarak veya alanın URL'sinden alabilirsiniz.MEMBER_NAME
: Üyeliğinname
kimliği. Kimliği,ListMemberships()
yöntemini çağırarak veya Chat API ile asynkron olarak üyelik oluşturduktan sonra döndürülen yanıt gövdesinden alabilirsiniz.ROLE_NAME
: Güncellenen rol (ROLE_MEMBER
).
Google Chat API, belirtilen üyeliği alan yöneticisi olarak günceller ve Membership
örneği döndürür.
Chat uygulamasında normal bir alan üyesini alan yöneticisi yapma
Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.
API anahtarı oluşturma
Developer Preview API yöntemini çağırmak için API keşif dokümanının herkese açık olmayan geliştirici önizleme sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı göndermeniz gerekir.
API anahtarını oluşturmak için uygulamanızın Google Cloud projesini açıp aşağıdakileri yapın:
- Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.
- Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
- Yeni API anahtarınız görüntülenir.
- API anahtarınızı uygulamanızın kodunda kullanmak için Kopyala'yı seçin. API anahtarını, projenizin kimlik bilgilerinin "API anahtarları" bölümünde de bulabilirsiniz.
- Gelişmiş ayarları güncellemek ve API anahtarınızın kullanımını sınırlamak için Anahtarı kısıtla'yı tıklayın. Daha fazla bilgi için API anahtarı kısıtlamaları uygulama bölümüne bakın.
Chat API'yi çağıran bir komut dosyası yazma
Aşağıdaki örnekte, güncellenen üyelik özelliklerini belirten body
içinde role
değerini ROLE_MANAGER
olarak belirterek normal bir alan üyesini alan yöneticisi yapmak için uygulama kimlik doğrulamasını kullanarak Chat API'ye çağrı yapılır:
Python
- Çalışma dizininizde
chat_membership_update_to_manager_app.py
adlı bir dosya oluşturun. chat_membership_update_to_manager_app.py
dosyasına aşağıdaki kodu ekleyin:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Kodda aşağıdakileri değiştirin:
API_KEY
: Chat API için hizmet uç noktasını oluşturmak üzere oluşturduğunuz API anahtarı.SPACE
: Bir alan adı. Bu bilgiyi Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebilirsiniz.MEMBERSHIP
: Chat API'dekispaces.members.list
yönteminden elde edebileceğiniz bir üyelik adı.
Çalışma dizininizde örneği derleyip çalıştırın:
python3 chat_membership_update_to_manager_app.py
Chat uygulamasında bir alan yöneticisini normal üye yapma
Uygulama kimlik doğrulaması için tek seferlik yönetici onayı gerekir.
API anahtarı oluşturma
Developer Preview API yöntemini çağırmak için API keşif dokümanının herkese açık olmayan geliştirici önizleme sürümünü kullanmanız gerekir. İsteğin kimliğini doğrulamak için bir API anahtarı göndermeniz gerekir.
API anahtarını oluşturmak için uygulamanızın Google Cloud projesini açıp aşağıdakileri yapın:
- Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.
- Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
- Yeni API anahtarınız gösterilir.
- API anahtarınızı uygulamanızın kodunda kullanmak için Kopyala'yı seçin. API anahtarını, projenizin kimlik bilgilerinin "API anahtarları" bölümünde de bulabilirsiniz.
- Gelişmiş ayarları güncellemek ve API anahtarınızın kullanımını sınırlandırmak için Anahtarı kısıtla'yı tıklayın. Daha fazla bilgi için API anahtarı kısıtlamaları uygulama bölümüne bakın.
Chat API'yi çağıran bir komut dosyası yazma
Aşağıdaki örnekte, güncellenmiş üyelik özelliklerini belirten body
parametresinde role
değerini ROLE_MEMBER
olarak belirterek bir alan yöneticisini normal bir alan üyesi yapmak için uygulama kimlik doğrulamasını kullanarak Chat API çağrılıyor:
Python
- Çalışma dizininizde
chat_membership_update_to_member_app.py
adlı bir dosya oluşturun. chat_membership_update_to_member_app.py
dosyasına aşağıdaki kodu ekleyin:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Kodda aşağıdakileri değiştirin:
API_KEY
: Chat API için hizmet uç noktasını oluşturmak üzere oluşturduğunuz API anahtarı.SPACE
: Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden alabileceğiniz bir alan adı.MEMBERSHIP
: Chat API'dekispaces.members.list
yönteminden elde edebileceğiniz bir üyelik adı.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_membership_update_to_member_app.py
Google Workspace yöneticisi olarak üyelikleri güncelleme
Google Workspace yöneticisiyseniz Google Workspace kuruluşunuzdaki herhangi bir alanın üyeliklerini güncellemek için update()
yöntemini çağırabilirsiniz.
Bu yöntemi Google Workspace yöneticisi olarak çağırmak için aşağıdakileri yapın:
- Kullanıcı kimlik doğrulamasını kullanarak yöntemi çağırın ve yöntemin yönetici ayrıcalıkları kullanılarak çağrılmasını destekleyen bir yetkilendirme kapsamı belirtin.
- İsteğinizde
useAdminAccess
iletrue
arasındaki sorgu parametresini belirtin.
Daha fazla bilgi ve örnek için Google Chat alanlarını Google Workspace yöneticisi olarak yönetme başlıklı makaleyi inceleyin.
İlgili konular
- Alana kullanıcı veya Google Chat uygulaması davet edin ya da ekleyin.
- Bir kullanıcının veya Chat uygulamasının üyeliğiyle ilgili ayrıntıları alma
- Alandaki üyeleri listeleyebilirsiniz.
- Bir kullanıcıyı veya Chat uygulamasını alandan kaldırma