Bu sayfada, subscriptions.list()
yöntemi kullanılarak Google Workspace aboneliklerinin nasıl listeleneceği açıklanmaktadır.
Bu yöntemi kullanıcı kimlik doğrulamasıyla çağırdığınızda yöntem, kullanıcı tarafından yetkilendirilmiş aboneliklerin listesini döndürür. Uygulama kimlik doğrulamasını kullandığınızda yöntem, uygulamaya ait tüm abonelikleri içeren bir liste döndürebilir.
Ön koşullar
Apps Komut Dosyası
- Google Workspace aboneliği Abonelik oluşturmak için Abonelik oluşturma başlıklı makaleyi inceleyin.
Abonelik için tüm etkinlik türlerini destekleyen bir veya daha fazla kapsamla kullanıcı kimlik doğrulaması gerekir.
- Apps Komut Dosyası projesi:
- Apps Komut Dosyası tarafından otomatik olarak oluşturulan varsayılan proje yerine Google Cloud projenizi kullanın.
- OAuth izin ekranını yapılandırmak için eklediğiniz tüm kapsamları, Apps Komut Dosyası projenizdeki
appsscript.json
dosyasına da eklemeniz gerekir. Örneğin: Google Workspace Events
gelişmiş hizmetini etkinleştirin.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 veya sonraki sürümler
- pip paket yönetim aracı
- Python için en son 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 Workspace aboneliği Abonelik oluşturmak için Abonelik oluşturma başlıklı makaleyi inceleyin.
Kimlik doğrulama gerektirir:
- Kullanıcı kimlik doğrulaması için aboneliğin etkinlik türlerinden en az birini destekleyen bir kapsam gerekir. Bir kapsamı tanımlamak için Etkinlik türüne göre kapsamlar başlıklı makaleyi inceleyin.
- Uygulama kimlik doğrulaması için
chat.bot
kapsamı (yalnızca Google Chat uygulamaları) gerekir.
Kullanıcı tarafından yetkilendirilen abonelikleri listeleme
Abonelikleri listelemek için en az bir etkinlik türüne göre filtreleme yapmanız gerekir. Sorgunuzu bir veya daha fazla hedef kaynağa göre de filtreleyebilirsiniz. Desteklenen sorgu filtreleri hakkında bilgi edinmek için list()
yöntemi belgelerine bakın.
Aşağıdaki kod örneği, etkinlik türüne ve hedef kaynağa göre filtrelenen bir Subscription
nesnesi dizisi döndürür. Kullanıcı olarak kimlik doğrulaması yapıldığında yöntem yalnızca kullanıcının uygulamanın oluşturmasına yetki verdiği aboneliklerin listesini döndürür.
Belirtilen etkinlik türü ve hedef kaynak için abonelikleri listelemek üzere:
Apps Komut Dosyası
Apps Komut Dosyası projenizde
listSubscriptions
adlı yeni bir komut dosyası dosyası oluşturun ve aşağıdaki kodu ekleyin:function listSubscriptions() { // Filter for event type (required). const eventType = 'EVENT_TYPE'; // Filter for target resource (optional). const targetResource = 'TARGET_RESOURCE'; const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"` // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.list({ filter }); console.log(response); }
Aşağıdakini değiştirin:
EVENT_TYPE
: CloudEvents spesifikasyonuna göre biçimlendirilmiş bir etkinlik türü. Örneğin,google.workspace.chat.message.v1.created
adlı bir Google Chat alanına yeni üyeliklerle ilgili etkinlikler alan abonelikleri filtrelemek için:TARGET_RESOURCE
: Tam kaynak adı olarak biçimlendirilmiş bir hedef kaynak. Örneğin, bir Google Chat alanının aboneliklerine göre filtrelemek için//chat.googleapis.com/spaces/SPACE_ID
değerini kullanın. Bu ifadedespaces/SPACE_ID
,Space
kaynağınınname
alanını temsil eder.
Abonelikleri listelemek için Apps Komut Dosyası projenizde
listSubscriptions
işlevini çalıştırın.
Python
Çalışma dizininizde
list_subscriptions.py
adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:"""List subscriptions.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = ['SCOPE'] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) # Filter for event type (required). EVENT_TYPE = 'EVENT_TYPE' # Filter for target resource (optional). TARGET_RESOURCE = 'TARGET_RESOURCE' FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"' response = service.subscriptions().list(filter=FILTER).execute() print(response)
Aşağıdakini değiştirin:
SCOPE
: Abonelikten en az bir etkinlik türünü destekleyen bir OAuth kapsamı. Örneğin, aboneliğiniz güncellenmiş bir Chat alanıhttps://www.googleapis.com/auth/chat.spaces.readonly
için etkinlik alıyorsa.EVENT_TYPE
: CloudEvents spesifikasyonuna göre biçimlendirilmiş bir etkinlik türü. Örneğin,google.workspace.chat.message.v1.created
adlı bir Google Chat alanına yeni üyeliklerle ilgili etkinlikler alan abonelikleri filtrelemek için:TARGET_RESOURCE
: Tam kaynak adı olarak biçimlendirilmiş bir hedef kaynak. Örneğin, bir Google Chat alanının aboneliklerine göre filtrelemek için//chat.googleapis.com/spaces/SPACE_ID
değerini kullanın. Bu ifadedespaces/SPACE_ID
,Space
kaynağınınname
alanını temsil eder.
Çalışma dizininizde OAuth istemci kimliği kimlik bilgilerinizi kaydettiğinizden ve dosyayı
client_secrets.json
olarak adlandırdığınızdan emin olun. Kod örneği, Google Workspace ile kimlik doğrulaması yapmak ve kullanıcı kimlik bilgilerini almak için bu JSON dosyasını kullanır. Talimatlar için OAuth istemci kimliği kimlik bilgilerini oluşturma başlıklı makaleyi inceleyin.Abonelikleri listelemek için terminalinizde aşağıdaki komutu çalıştırın:
python3 list_subscriptions.py
Google Workspace Events API, sorgunuzun filtresiyle eşleşen Subscription
nesnesi içeren sayfalandırılmış bir dizi döndürür.