Bu sayfada, hataları çözerek veya gidererek ve subscriptions.reactivate()
yöntemini çağırarak askıya alınmış bir Google Workspace aboneliğini nasıl yeniden etkinleştireceğiniz açıklanmaktadır.
Bir hata nedeniyle aboneliğin etkinlik almasını engellediğinde Google Workspace abonelikleri askıya alınır. Örneğin, hedef kaynağı veya bildirim uç noktası bulunamayan abonelikler askıya alınır. Abonelikle ilgili hataları çözdükten sonra, etkinlikleri tekrar almaya başlamak için aboneliği yeniden etkinleştirebilirsiniz.
Askıya alınmış bir abonelik hakkında aşağıdaki yöntemlerle bilgi edinebilirsiniz:
- Uygulamanız, askıya alma işlemiyle ilgili bir yaşam döngüsü etkinliği alır. Aboneliğiniz, uç noktasıyla ilgili bir hata nedeniyle askıya alınırsa yaşam döngüsü etkinliği alamayabilirsiniz.
- Aboneliğin
state
alanınınSUSPENDED
olarak ayarlanıp ayarlanmadığını görmek içinsubscriptions.get()
veyasubscriptions.list()
yöntemlerini kullanırsınız. - Bildirim uç noktanıza teslimat hatası olduğunda bildirim alırsınız. Google Cloud Pub/Sub konularına yönelik yayınlama hatalarını izleme hakkında bilgi edinmek için Mesaj hatalarını işleme başlıklı makaleyi inceleyin.
Yeniden etkinleştirilen aboneliklerin orijinal son kullanma tarihi korunur. Aboneliğin geçerlilik süresini uzatmak için Aboneliği güncelleme veya yenileme başlıklı makaleyi inceleyin.
Apps Komut Dosyası
- Google Workspace aboneliği Abonelik oluşturmak için Abonelik oluşturma başlıklı makaleyi inceleyin.
Abonelik için tüm etkinlik türlerini destekleyen bir veya daha fazla kapsamla kullanıcı kimlik doğrulaması gerekir.
- Apps Komut Dosyası projesi:
- Apps Komut Dosyası tarafından otomatik olarak oluşturulan varsayılan proje yerine Google Cloud projenizi kullanın.
- OAuth izin ekranını yapılandırmak için eklediğiniz tüm kapsamları, Apps Komut Dosyası projenizdeki
appsscript.json
dosyasına da eklemeniz gerekir. Örneğin: Google Workspace Events
gelişmiş hizmetini etkinleştirin.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 veya sonraki sürümler
- pip paket yönetim aracı
- Python için en son Google istemci kitaplıkları. Bunları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace aboneliği Abonelik oluşturmak için Abonelik oluşturma başlıklı makaleyi inceleyin.
Abonelik için tüm etkinlik türlerini destekleyen bir veya daha fazla kapsamla kullanıcı kimlik doğrulaması gerekir.
Hataları tespit etme ve çözme
Bir aboneliğin hatasını belirlemek için aboneliğin suspensionReason
alanını inceleyin. Bu alanı, askıya almayla ilgili bir yaşam döngüsü etkinliği aldığınızda veya abonelikle ilgili tüm alanları incelemek için subscriptions.get()
yöntemini kullanarak bulabilirsiniz.
Aşağıdaki tabloda, abonelikle ilgili olası hatalar ve mümkün olduğunda bu hataların nasıl çözüleceği gösterilmektedir. Hatayı gideremezseniz aboneliği silebilir veya süresinin dolmasını bekleyebilirsiniz. Google Workspace Events API, süresi dolmuş abonelikleri otomatik olarak siler.
Hata | Açıklama | Sorunu çözme yöntemleri |
---|---|---|
|
Yetki veren kullanıcı, abonelik için gereken bir veya daha fazla OAuth kapsamının verilmesini iptal etti. | Başka bir erişim jetonu alın. Ayrıntılar için Google Yetkilendirme Sunucusu'ndan erişim jetonu alma başlıklı makaleyi inceleyin. |
|
Aboneliğin hedef kaynağı silinir. | Kaynak geri yüklenirse reactivate()
yöntemini çağırın. Aksi takdirde, aboneliği orijinal hedef kaynağı olmadan yeniden etkinleştiremeyeceğiniz için herhangi bir işlem yapmanız gerekmez. |
|
Yetki veren kullanıcının abonelik kaynağına erişimi artık yoktur. | Herhangi bir işlem yapmanız gerekmez. Yetki veren kullanıcı hedef kaynağa erişemediğinden aboneliği yeniden etkinleştiremezsiniz. |
|
Google Workspace uygulamasının, bildirim uç noktanıza etkinlik yayınlama erişimi yoktur. | Etkinlik yayınlayan Google Workspace uygulamasının hizmet hesabına erişim izni verin. Google Chat etkinlikleri için hizmet hesabı chat-api-push@system.gserviceaccount.com 'dır. Google Meet etkinlikleri için hizmet hesabı meet-api-event-push@system.gserviceaccount.com 'tür.Pub/Sub konuları için hizmet hesabına Pub/Sub Yayıncısı rolünü ( roles/pubsub.publisher)
) verin. |
|
Bildirim uç noktası mevcut değil veya bulunamıyor. | Uç noktanın hâlâ etkin ve çalıştığından emin olun. Pub/Sub konularıyla ilgili sorunları gidermek için Sorun giderme dokümanlarına bakın. |
|
Bildirim uç noktası, yeterli kota olmadığı veya hız sınırına ulaşıldığı için etkinlikleri alamadı. | Kota artışı istemek. |
Aboneliği yeniden etkinleştirme
Aboneliğinizi askıya alan hatayı çözdükten sonra, aboneliğin tekrar etkinlik almasını sağlamak için reactivate()
yöntemini kullanabilirsiniz. Bu yöntem, tüm hataların çözülüp çözülmediğini kontrol eder ve aboneliğinizin state
alanını SUSPENDED
yerine ACTIVE
olarak değiştirir.
Bir Google Workspace aboneliğini yeniden etkinleştirmek için:
Apps Komut Dosyası
Apps Komut Dosyası projenizde
reactivateSubscription
adlı yeni bir komut dosyası dosyası oluşturun ve aşağıdaki kodu ekleyin: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); }
Aşağıdakini değiştirin:
Google Workspace aboneliğini yeniden etkinleştirmek için Apps Komut Dosyası projenizde
reactivateSubscription
işlevini çalıştırın.
Python
Çalışma dizininizde
reactivate_subscription.py
adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:"""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)
Aşağıdakini değiştirin:
SCOPES
: Abonelik için her etkinlik türünü destekleyen bir veya daha fazla OAuth kapsamı. Dize dizisi olarak biçimlendirilir. Birden fazla kapsamı listelemek için virgülle ayırın. Örneğin,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.SUBSCRIPTION_ID
: Aboneliğin kimliği. Kimliği almak için aşağıdakilerden herhangi birini kullanabilirsiniz:
Çalışma dizininizde OAuth istemci kimliği kimlik bilgilerinizi kaydettiğinizden ve dosyayı
client_secrets.json
olarak adlandırdığınızdan emin olun. Kod örneği, Google Workspace ile kimlik doğrulaması yapmak ve kullanıcı kimlik bilgilerini almak için bu JSON dosyasını kullanır. Talimatlar için OAuth istemci kimliği kimlik bilgilerini oluşturma başlıklı makaleyi inceleyin.Google Workspace aboneliğini yeniden etkinleştirmek için terminalinizde aşağıdaki komutu çalıştırın:
python3 reactivate_subscription.py
Subscription
kaynağının örneğini içeren bir uzun süreli işlem döndürür.
İstek başarısız olursa diğer hataları gidermek için aşağıdaki bölüme bakın.
Birden fazla hatayla ilgili sorunları giderme
Aboneliği askıya alan hatayı çözdüyseniz ve reactivate()
yöntemi başarısız olursa aboneliğiniz askıya alındıktan sonra başka bir hata oluşmuş olabilir.
Diğer hataları tespit etmek için başarısız istekteki çıkışı inceleyin. Çıkışta, hâlâ mevcut olan hatalar yer alır.
Aboneliğinizde birden fazla hata varsa suspensionReason
alanının değeri her zaman aboneliğinizi askıya alan orijinal hatayı kullanır.