Halaman ini menjelaskan cara mengaktifkan kembali langganan Google Workspace yang ditangguhkan
dengan menyelesaikan atau memecahkan masalah error dan memanggil
metode
subscriptions.reactivate()
.
Langganan Google Workspace ditangguhkan setiap kali terjadi error yang mencegah langganan menerima peristiwa. Misalnya, langganan ditangguhkan jika resource target atau endpoint notifikasinya tidak dapat ditemukan. Setelah mengatasi error pada langganan, Anda dapat mengaktifkan kembali langganan untuk mulai menerima peristiwa lagi.
Anda dapat mempelajari langganan yang ditangguhkan dengan cara berikut:
- Aplikasi Anda menerima peristiwa siklus proses tentang penangguhan. Jika langganan Anda ditangguhkan karena terjadi error pada endpoint-nya, Anda mungkin tidak menerima peristiwa siklus proses.
- Anda dapat menggunakan metode
subscriptions.get()
atausubscriptions.list()
untuk melihat apakah kolomstate
langganan ditetapkan keSUSPENDED
. - Anda akan diberi tahu tentang kegagalan pengiriman ke endpoint notifikasi. Untuk mempelajari cara memantau kegagalan pengiriman ke topik Google Cloud Pub/Sub, lihat Menangani kegagalan pesan.
Langganan yang diaktifkan kembali mempertahankan tanggal habis masa berlaku semula. Untuk memperpanjang masa berlaku langganan, lihat Memperbarui atau memperpanjang langganan.
Apps Script
- Langganan Google Workspace. Untuk membuatnya, lihat Membuat langganan.
Memerlukan autentikasi pengguna dengan satu atau beberapa cakupan yang mendukung semua jenis peristiwa untuk langganan.
- Project Apps Script:
- Gunakan project Google Cloud Anda, bukan project default yang dibuat otomatis oleh Apps Script.
- Untuk setiap cakupan yang ditambahkan untuk mengonfigurasi layar izin OAuth, Anda juga harus menambahkan cakupan tersebut ke file
appsscript.json
di project Apps Script Anda. Contoh:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- 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 mengupdatenya, 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 pengguna dengan satu atau beberapa cakupan yang mendukung semua jenis peristiwa untuk langganan.
Mengidentifikasi dan mengatasi error
Untuk mengidentifikasi error pada langganan, tinjau kolom
suspensionReason
langganan. Anda dapat menemukan kolom ini saat menerima
peristiwa siklus proses tentang penangguhan,
atau dengan menggunakan metode subscriptions.get()
untuk meninjau semua kolom untuk
langganan.
Tabel berikut menampilkan error yang mungkin terjadi untuk langganan dan, jika memungkinkan, cara mengatasi error tersebut. Jika tidak dapat mengatasi error, Anda dapat menghapus langganan, atau menunggu hingga masa berlakunya berakhir. Google Workspace Events API akan otomatis menghapus langganan yang telah habis masa berlakunya.
Error | Deskripsi | Cara mengatasi |
---|---|---|
|
Pengguna yang memberi otorisasi telah mencabut pemberian satu atau beberapa cakupan OAuth yang diperlukan untuk langganan. | Dapatkan token akses lainnya. Untuk mengetahui detailnya, lihat Mendapatkan token akses dari Server Otorisasi Google. |
|
Resource target untuk langganan dihapus. | Jika resource dipulihkan, panggil metode reactivate() . Jika tidak, Anda tidak perlu melakukan tindakan apa pun, karena Anda tidak dapat mengaktifkan kembali langganan tanpa resource target aslinya. |
|
Pengguna yang memberi otorisasi tidak lagi memiliki akses ke resource untuk langganan. | Tidak perlu tindakan. Anda tidak dapat mengaktifkan kembali langganan karena pengguna yang memberinya otorisasi tidak dapat mengakses resource target. |
|
Aplikasi Google Workspace tidak memiliki akses untuk mengirimkan peristiwa ke endpoint notifikasi Anda. | Berikan akses ke akun layanan untuk aplikasi Google Workspace
yang mengirimkan peristiwa. Untuk peristiwa Google Chat, akun layanannya adalah chat-api-push@system.gserviceaccount.com . Untuk acara Google Meet, akun layanan adalah
meet-api-event-push@system.gserviceaccount.com .Untuk topik Pub/Sub, berikan peran Pub/Sub Publisher ( roles/pubsub.publisher)
ke akun layanan. |
|
Endpoint notifikasi tidak ada atau tidak dapat ditemukan. | Periksa apakah endpoint masih aktif dan berfungsi. Untuk memecahkan masalah topik Pub/Sub, lihat dokumentasi pemecahan masalah. |
|
Endpoint notifikasi gagal menerima peristiwa karena kuota tidak memadai atau mencapai pembatasan kapasitas. | Meminta penambahan kuota. |
Mengaktifkan kembali langganan
Setelah menyelesaikan error yang menangguhkan langganan, Anda dapat menggunakan
metode reactivate()
untuk memungkinkan langganan menerima peristiwa lagi. Metode
ini memeriksa apakah semua error telah diselesaikan dan mengubah kolom
state
langganan Anda dari SUSPENDED
menjadi ACTIVE
.
Untuk mengaktifkan kembali langganan Google Workspace:
Apps Script
Pada project Apps Script Anda, buat file skrip baru bernama
reactivateSubscription
dan tambahkan kode berikut:function reactivateSubscription() { // The name of the subscription to reactivate. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.reactivate({}, name); console.log(response); }
Ganti kode berikut:
Untuk mengaktifkan kembali langganan Google Workspace, jalankan fungsi
reactivateSubscription
di project Apps Script Anda.
Python
Di direktori kerja, buat file bernama
reactivate_subscription.py
dan tambahkan kode berikut:"""Reactivate 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('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) NAME = 'subscriptions/SUBSCRIPTION_ID' response = service.subscriptions().reactivate(name=NAME).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 cara berikut:
Di direktori kerja, pastikan Anda telah menyimpan kredensial client ID OAuth dan memberi nama file
client_secrets.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.Untuk mengaktifkan kembali langganan Google Workspace, jalankan perintah berikut di terminal Anda:
python3 reactivate_subscription.py
Subscription
.
Jika permintaan gagal, lihat bagian berikut untuk memecahkan masalah error tambahan.
Memecahkan masalah beberapa error
Jika Anda telah mengatasi error yang menangguhkan langganan dan
metode reactivate()
gagal, error lain mungkin terjadi setelah
langganan ditangguhkan.
Untuk mengidentifikasi error tambahan, tinjau output dari permintaan yang gagal. Output berisi error yang masih ada.
Jika langganan Anda mengalami beberapa error, nilai untuk
kolom suspensionReason
selalu menggunakan error asli yang menangguhkan
langganan Anda.