Memperbarui atau memperpanjang langganan Google Workspace

Halaman ini menjelaskan cara memperpanjang langganan Google Workspace menggunakan metode subscriptions.update(). Anda dapat menggunakan metode ini untuk memperbarui waktu habis masa berlaku langganan, termasuk memperpanjang langganan untuk waktu habis masa berlaku maksimum yang memungkinkan, atau untuk memperbarui daftar jenis peristiwa yang akan diterima tentang resource target.

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 Anda. Misalnya, jika Anda menentukan cakupan chat.messages, tambahkan yang berikut:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Aktifkan layanan lanjutan Google Workspace Events.

Python

  • Python 3.6 atau yang lebih baru
  • Alat pengelolaan paket pip
  • Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdate-nya, jalankan perintah berikut di antarmuka command line Anda:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Memperpanjang langganan Google Workspace

Di bagian ini, Anda menggunakan metode subscriptions.update() Google Workspace Events API untuk memperpanjang langganan hingga waktu habis masa berlaku maksimumnya. Untuk menentukan waktu habis masa berlaku maksimum, Anda memperbarui kolom ttl dari resource Subscription menjadi 0.

Waktu habis masa berlaku maksimum bergantung pada data resource yang disertakan dalam payload peristiwa. Untuk mempelajari lebih lanjut waktu habis masa berlaku, lihat Data peristiwa untuk peristiwa Google Workspace.

Untuk memperpanjang langganan Google Workspace:

Apps Script

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

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, name);
      console.log(response);
    }
    

    Ganti kode berikut:

    • SUBSCRIPTION_ID: ID langganan. Untuk mendapatkan ID, Anda dapat menggunakan salah satu opsi berikut:
      • Nilai kolom uid.
      • ID nama resource yang ditampilkan di kolom name. Misalnya, jika nama resource adalah subscriptions/subscription-123, gunakan subscription-123.
  2. Untuk memperbarui langganan Google Workspace, jalankan fungsi updateSubscription di project Apps Script Anda.

Python

  1. Di direktori kerja Anda, buat file bernama update_subscription.py dan tambahkan kode berikut:

    """Update subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # 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,
    )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

    Ganti kode berikut:

    • SCOPES: Satu atau beberapa cakupan OAuth yang mendukung setiap jenis peristiwa untuk langganan. Diformat sebagai array string. Untuk mencantumkan beberapa cakupan, pisahkan dengan koma. Misalnya, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: ID langganan. Untuk mendapatkan ID, Anda dapat menggunakan salah satu opsi berikut:
      • Nilai kolom uid.
      • ID nama resource yang ditampilkan di kolom name. Misalnya, jika nama resource adalah subscriptions/subscription-123, gunakan subscription-123.
  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 mengautentikasi dengan Google Workspace dan mendapatkan kredensial pengguna. Untuk mengetahui petunjuknya, lihat Membuat kredensial client ID OAuth.

  3. Untuk memperbarui langganan Google Workspace, jalankan perintah berikut di terminal Anda:

    python3 update_subscription.py
Google Workspace Events API menampilkan operasi yang berjalan lama yang berisi instance resource Subscription.

Untuk mendapatkan detail tentang resource Subscription yang diperbarui, gunakan metode operations.get() dan tentukan resource Operation yang ditampilkan dari permintaan subscriptions.update() Anda. Jika tidak, jika Anda menentukan resource Operation dari versi langganan sebelumnya, respons akan kosong.

Memperbarui atau memperpanjang langganan sebagai aplikasi Google Chat

Anda dapat memperbarui atau memperpanjang langganan ke acara Chat sebagai aplikasi Chat, bukan sebagai pengguna. Prosesnya serupa, kecuali:

  1. Daripada autentikasi pengguna, lakukan autentikasi sebagai aplikasi Chat dengan persetujuan administrator satu kali.

  2. Tentukan cakupan otorisasi yang memungkinkan aplikasi Chat berlangganan ke peristiwa Chat. Cakupan otorisasi ini selalu dimulai dengan chat.app, dan mencakup hal berikut:

    • https://www.googleapis.com/auth/chat.app.memberships: Berlangganan ke peristiwa anggota ruang Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Berlangganan ke peristiwa pesan ruang Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Berlangganan ke peristiwa ruang Chat.

Membuat kunci API

Untuk memanggil metode Developer Preview API, Anda harus menggunakan versi pratinjau developer non-publik dari dokumen penemuan API. Untuk mengautentikasi permintaan, Anda harus meneruskan kunci API.

Untuk membuat Kunci API, buka project Google Cloud aplikasi Anda dan lakukan hal berikut:

  1. Di Konsol Google Cloud, buka Menu > APIs & Services > Credentials.

    Buka Kredensial

  2. Klik Create credentials > API key.
  3. Kunci API baru Anda akan ditampilkan.
    • Klik Salin untuk menyalin kunci API Anda untuk digunakan dalam kode aplikasi Anda. Kunci API juga dapat ditemukan di bagian "API Keys" pada kredensial project Anda.
    • Untuk mencegah penggunaan tanpa izin, sebaiknya batasi tempat dan API yang dapat menggunakan kunci API. Untuk mengetahui detail selengkapnya, lihat Menambahkan pembatasan API.

Menulis skrip yang memanggil Google Workspace Events API

Contoh kode berikut memperbarui langganan Google Workspace aplikasi Chat:

Python

  """Update subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = [SCOPES]

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

Ganti kode berikut:

  • SCOPES: Tentukan cakupan otorisasi yang memungkinkan aplikasi Chat berlangganan ke peristiwa Chat. Cakupan otorisasi ini selalu dimulai dengan chat.app, dan mencakup hal berikut:

    • https://www.googleapis.com/auth/chat.app.memberships: Berlangganan ke peristiwa anggota ruang Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Berlangganan ke peristiwa pesan dan reaksi ruang Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Berlangganan ke peristiwa ruang Chat.
  • API_KEY: Kunci API yang Anda buat untuk membangun endpoint layanan untuk Google Workspace Events API.

  • SUBSCRIPTION_ID: ID langganan. Untuk mendapatkan ID, Anda dapat menggunakan salah satu hal berikut:

    • Nilai kolom uid.
    • ID nama resource yang ditampilkan di kolom name. Misalnya, jika nama resource adalah subscriptions/subscription-123, gunakan subscription-123.