Bu kılavuzda, bir alandaki üyeleri bir alandaki üyeleri sayfalara ayrılmış ve filtrelenebilir bir liste olarak listelemek için Google Chat API'nin membership
kaynağında list
yönteminin nasıl kullanılacağı açıklanmaktadır. Uygulama kimlik doğrulaması ile üyelik girişi, Chat uygulamasının erişebildiği alanlardaki üyelikleri listeler ancak kendi üyelikleri de dahil olmak üzere Chat uygulaması üyeliklerini hariç tutar. Kullanıcı kimlik doğrulamasıyla giriş yaptığında, kimliği doğrulanmış kullanıcının erişebildiği alanlardaki üyelikler listelenir.
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önetim 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 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ı. Üyelikler listelemek aşağıdaki kimlik doğrulama yöntemlerinin ikisini de destekler:
chat.memberships.readonly
veyachat.memberships
yetkilendirme kapsamıyla kullanıcı kimlik doğrulaması.chat.bot
yetkilendirme kapsamıyla uygulama kimlik doğrulaması.
Kullanıcı kimlik doğrulamasıyla alandaki üyeleri listeleyin
Kimliği doğrulanmış kullanıcının erişebildiği bir alandaki kullanıcıları, Google Gruplar'ı ve Chat uygulamasını listelemek için isteğinizde aşağıdakileri iletin:
- Kullanıcı kimlik doğrulaması ile
chat.memberships.readonly
veyachat.memberships
yetkilendirme kapsamını belirtin. membership
kaynağındalist
yöntemini çağırın.- Google Gruplarını listelemek için
showGroups
sorgu parametresinitrue
olarak ayarlayın.
Aşağıdaki örnekte, kimliği doğrulanmış kullanıcı tarafından görülebilen Google Grubu, gerçek kişi ve uygulama üyeleri listelenmektedir.
Python
- Çalışma dizininizde
chat_member_list_user.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_member_list_user.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.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists Google Group, human, and app members in a specified 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().list( # The space for which to list memberships. parent = 'spaces/SPACE', # Set this parameter to list Google Groups. showGroups = 'true' ).execute() # Prints the list of memberships. 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_member_list_user.py
Google Chat API, belirtilen alandaki Google Grubu, gerçek kişi ve uygulama üyelerinin bir listesini döndürür.
Uygulama kimlik doğrulamasıyla alandaki üyeleri listeleyin
Kimliği doğrulanmış uygulamanın erişebildiği bir alandaki kullanıcıları ve Chat uygulamasını listelemek için isteğinize aşağıdaki bilgileri ekleyin:
- Uygulama kimlik doğrulaması ile
chat.bot
yetkilendirme kapsamını belirtin. member
kaynağındalist
yöntemini çağırın.- Google Gruplarını listelemek için
showGroups
sorgu parametresinitrue
olarak ayarlayın.
Aşağıdaki örnekte, Chat uygulamasında görünür olan gerçek kişi olan alan üyeleri (alan yöneticileri değil) listelenmiştir:
Python
- Çalışma dizininizde
chat_member_list_app.py
adlı bir dosya oluşturun. Aşağıdaki kodu
chat_member_list_app.py
bölümüne 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) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # An optional filter that returns only human space members. filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"' ).execute() print(result)
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_member_list_app.py
Google Chat API, belirtilen alandaki gerçek kişi olan alan üyelerinin (alan yöneticileri hariç) bir listesini döndürür.
Sayfalara ayırma veya listeyi filtreleme
Üyelikleri listelemek için listelenen üyelikleri sayfalara ayırma veya filtreleme işlemini özelleştirmek amacıyla aşağıdaki sorgu parametrelerini iletin:
pageSize
: Döndürülecek maksimum üyelik sayısı. Hizmet bu değerden daha az değer döndürebilir. Belirtilmemişse en fazla 100 boşluk döndürülür. Maksimum değer 1.000'dir. 1.000'in üzerindeki değerler otomatik olarak 1.000'e değiştirilir.pageToken
: Önceki bir alan liste çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bu jetonu sağlayın. Sayfalara ayırırken filtre değeri, sayfa jetonunu sağlayan çağrıyla eşleşmelidir. Farklı bir değer iletmek beklenmedik sonuçlara yol açabilir.filter
: Sorgu filtresi. Kullanıcı kimlik doğrulaması gerektirir. Desteklenen sorgu ayrıntıları içinspaces.members.list
yöntemine bakın.
İlgili konular
- Bir kullanıcının veya Chat uygulamasının üyeliğiyle ilgili ayrıntıları öğrenin.
- Bir alana kullanıcı veya Chat uygulaması davet edin ya da ekleyin.
- Google Chat alanındaki kullanıcıların üyeliğini güncelleyin.
- Bir kullanıcıyı veya Chat uygulamasını alandan kaldırın.