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
- Langganan Google Workspace. Untuk membuatnya, lihat Membuat langganan.
- 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 cakupanchat.messages
, tambahkan yang berikut: - Aktifkan
layanan lanjutan
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Memerlukan autentikasi dan cakupan otorisasi yang sesuai untuk setiap jenis peristiwa dalam langganan:
- Untuk autentikasi pengguna, memerlukan satu atau beberapa cakupan yang mendukung setidaknya salah satu jenis peristiwa untuk langganan. Untuk mengidentifikasi cakupan, lihat Cakupan menurut jenis peristiwa.
- Untuk berlangganan peristiwa Chat sebagai aplikasi Chat, diperlukan autentikasi aplikasi dengan persetujuan administrator satu kali. Berlangganan ke peristiwa Chat sebagai aplikasi Chat tersedia di Pratinjau Developer.
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
- 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 satu atau beberapa cakupan yang mendukung setidaknya salah satu jenis peristiwa untuk langganan. Untuk mengidentifikasi cakupan, lihat Cakupan menurut jenis peristiwa.
- Untuk berlangganan peristiwa Chat sebagai aplikasi Chat, diperlukan autentikasi aplikasi dengan persetujuan administrator satu kali. Berlangganan ke peristiwa Chat sebagai aplikasi Chat tersedia di Pratinjau Developer.
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
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:
Untuk memperbarui langganan Google Workspace, jalankan fungsi
updateSubscription
di project Apps Script Anda.
Python
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:
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.Untuk memperbarui langganan Google Workspace, jalankan perintah berikut di terminal Anda:
python3 update_subscription.py
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:
Daripada autentikasi pengguna, lakukan autentikasi sebagai aplikasi Chat dengan persetujuan administrator satu kali.
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:
- Di Konsol Google Cloud, buka Menu > APIs & Services > Credentials.
- Klik Create credentials > API key.
- 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 denganchat.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: