Mencantumkan langganan Google Workspace

Halaman ini menjelaskan cara mencantumkan langganan Google Workspace menggunakan metode subscriptions.list().

Saat Anda memanggil metode ini dengan autentikasi pengguna, metode ini akan menampilkan daftar langganan yang diotorisasi oleh pengguna. Saat Anda menggunakan autentikasi aplikasi, metode ini dapat menampilkan daftar yang berisi langganan apa pun untuk aplikasi.

Prasyarat

Apps Script

  • Project Apps Script:
    • Gunakan project Google Cloud Anda, bukan project default yang dibuat secara otomatis oleh Apps Script.
    • Untuk semua cakupan yang Anda tambahkan untuk mengonfigurasi layar izin OAuth, Anda juga harus menambahkan cakupan ke file appsscript.json di project Apps Script. Misalnya, jika Anda menentukan cakupan chat.messages, tambahkan cakupan berikut:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Aktifkan layanan lanjutan Google Workspace Events.
  • Memerlukan autentikasi dan cakupan otorisasi yang sesuai untuk setiap jenis peristiwa dalam langganan:

    • Untuk autentikasi pengguna, memerlukan cakupan yang mendukung setidaknya satu jenis peristiwa untuk langganan. Untuk mengidentifikasi cakupan, lihat Cakupan menurut jenis peristiwa.
    • Untuk autentikasi aplikasi, memerlukan cakupan chat.bot (hanya aplikasi Google Chat).

Python

  • Python 3.6 atau yang lebih baru
  • Alat pengelolaan paket pip
  • Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdatenya, jalankan perintah berikut di antarmuka command line:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Langganan Google Workspace. Untuk membuatnya, lihat Membuat langganan.

  • Memerlukan autentikasi dan cakupan otorisasi yang sesuai untuk setiap jenis peristiwa dalam langganan:

    • Untuk autentikasi pengguna, memerlukan cakupan yang mendukung setidaknya satu jenis peristiwa untuk langganan. Untuk mengidentifikasi cakupan, lihat Cakupan menurut jenis peristiwa.
    • Untuk autentikasi aplikasi, memerlukan cakupan chat.bot (hanya aplikasi Google Chat).

Mencantumkan langganan yang diotorisasi oleh pengguna

Untuk mencantumkan langganan, Anda harus memfilter menurut setidaknya satu jenis peristiwa. Anda juga dapat memfilter kueri menurut satu atau beberapa resource target. Untuk mempelajari filter kueri yang didukung, lihat dokumentasi metode list().

Contoh kode berikut menampilkan array objek Subscription yang difilter menurut jenis peristiwa dan resource target. Saat diautentikasi sebagai pengguna, metode ini hanya menampilkan daftar langganan yang diotorisasi oleh pengguna untuk dibuat oleh aplikasi.

Untuk mencantumkan langganan untuk jenis peristiwa dan resource target tertentu:

Apps Script

  1. Di project Apps Script, buat file skrip baru bernama listSubscriptions, lalu tambahkan kode berikut:

    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);
    }
    

    Ganti kode berikut:

  2. Untuk mencantumkan langganan, jalankan fungsi listSubscriptions di project Apps Script.

Python

  1. Di direktori kerja, buat file bernama list_subscriptions.py, lalu tambahkan kode berikut:

    """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('credentials.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)
    

    Ganti kode berikut:

  2. Di direktori kerja, pastikan Anda telah menyimpan kredensial client ID OAuth dan memberi nama file credentials.json. Contoh kode menggunakan file JSON ini untuk melakukan autentikasi dengan Google Workspace dan mendapatkan kredensial pengguna. Untuk mengetahui petunjuknya, lihat Membuat kredensial client ID OAuth.

  3. Untuk mencantumkan langganan, jalankan perintah berikut di terminal Anda:

    python3 list_subscriptions.py

Google Workspace Events API menampilkan array objek Subscription yang dipaginasi dan cocok dengan filter untuk kueri Anda.