Halaman ini menjelaskan cara memperpanjang langganan Google Workspace menggunakan metode subscriptions.update(). Gunakan 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.jsondi 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.
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.
Memperpanjang langganan Google Workspace
Di bagian ini, gunakan metode
subscriptions.update() Google Workspace Events API untuk memperpanjang langganan hingga waktu habis masa berlaku
maksimumnya. Untuk menentukan waktu habis masa berlaku maksimum, perbarui 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
updateSubscriptiondi project Apps Script Anda.
Python
Di direktori kerja Anda, buat file bernama
update_subscription.pydan 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, responsnya akan kosong.
Memperbarui atau memperpanjang langganan sebagai aplikasi Google Chat
Anda dapat memperbarui atau memperpanjang langganan ke peristiwa 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.memberships.readonly: 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.https://www.googleapis.com/auth/chat.app.spaces.readonly: Berlangganan ke peristiwa ruang Chat.
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,
)
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.memberships.readonly: 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.https://www.googleapis.com/auth/chat.app.spaces.readonly: Berlangganan ke peristiwa ruang Chat.
SUBSCRIPTION_ID: ID langganan. Untuk mendapatkan ID, Anda dapat menggunakan salah satu hal berikut: