این صفحه نحوه تمدید اشتراک Google Workspace با استفاده از متد subscriptions.update() را توضیح میدهد. از این متد برای بهروزرسانی زمان انقضای اشتراک، از جمله تمدید اشتراک برای حداکثر زمان انقضای ممکن، یا بهروزرسانی لیست انواع رویدادهایی که باید در مورد منبع هدف دریافت شوند، استفاده کنید.
اسکریپت برنامهها
- اشتراک Google Workspace. برای ایجاد آن، به «ایجاد اشتراک» مراجعه کنید.
- یک پروژه اسکریپت برنامهها:
- به جای پروژه پیشفرضی که به طور خودکار توسط Apps Script ایجاد شده است، از پروژه Google Cloud خود استفاده کنید.
- برای تمام محدودههایی که برای پیکربندی صفحه رضایت OAuth اضافه کردهاید، باید محدودهها را به فایل
appsscript.jsonدر پروژه Apps Script خود نیز اضافه کنید. برای مثال، اگر محدودهchat.messagesرا مشخص کردهاید، موارد زیر را اضافه کنید: - سرویس پیشرفته
Google Workspace Eventsرا فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
برای هر نوع رویداد در اشتراک، احراز هویت و محدوده مجوز مناسب لازم است:
- برای احراز هویت کاربر، به یک یا چند محدوده نیاز است که حداقل از یکی از انواع رویدادهای اشتراک پشتیبانی کنند. برای شناسایی یک محدوده، به بخش محدودهها بر اساس نوع رویداد مراجعه کنید.
- برای عضویت در یک رویداد چت به عنوان یک برنامه چت، نیاز به احراز هویت برنامه با تأیید یکباره مدیر است. عضویت در یک رویداد چت به عنوان یک برنامه چت در پیشنمایش توسعهدهندگان موجود است.
پایتون
- پایتون ۳.۶ یا بالاتر
- ابزار مدیریت بسته pip
- جدیدترین کتابخانههای کلاینت گوگل برای پایتون. برای نصب یا بهروزرسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراک Google Workspace. برای ایجاد آن، به «ایجاد اشتراک» مراجعه کنید.
برای هر نوع رویداد در اشتراک، احراز هویت و محدوده مجوز مناسب لازم است:
- برای احراز هویت کاربر، به یک یا چند محدوده نیاز است که حداقل از یکی از انواع رویدادهای اشتراک پشتیبانی کنند. برای شناسایی یک محدوده، به بخش محدودهها بر اساس نوع رویداد مراجعه کنید.
- برای عضویت در یک رویداد چت به عنوان یک برنامه چت، نیاز به احراز هویت برنامه با تأیید یکباره مدیر است. عضویت در یک رویداد چت به عنوان یک برنامه چت در پیشنمایش توسعهدهندگان موجود است.
تمدید اشتراک Google Workspace
در این بخش، از متد subscriptions.update() از API رویدادهای Google Workspace برای تمدید اشتراک تا حداکثر زمان انقضای آن استفاده کنید. برای تعیین حداکثر زمان انقضا، فیلد ttl از منبع Subscription را به 0 بهروزرسانی کنید.
حداکثر زمان انقضا بستگی به این دارد که چه دادههای منبعی در بار رویداد گنجانده شده است. برای کسب اطلاعات بیشتر در مورد زمانهای انقضا، به دادههای رویداد برای رویدادهای Google Workspace مراجعه کنید.
برای تمدید اشتراک Google Workspace:
اسکریپت برنامهها
در پروژه Apps Script خود، یک فایل اسکریپت جدید با نام
updateSubscriptionایجاد کنید و کد زیر را به آن اضافه کنید: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); }موارد زیر را جایگزین کنید:
برای بهروزرسانی اشتراک Google Workspace، تابع
updateSubscriptionرا در پروژه Apps Script خود اجرا کنید.
پایتون
در دایرکتوری کاری خود، فایلی با نام
update_subscription.pyایجاد کنید و کد زیر را به آن اضافه کنید:"""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)موارد زیر را جایگزین کنید:
-
SCOPES: یک یا چند محدودهی OAuth که از هر نوع رویداد برای اشتراک پشتیبانی میکنند. به صورت آرایهای از رشتهها قالببندی شده است. برای فهرست کردن چندین محدوده، آنها را با کاما از هم جدا کنید. به عنوان مثال،'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'. -
SUBSCRIPTION_ID: شناسه اشتراک. برای دریافت شناسه، میتوانید از هر یک از موارد زیر استفاده کنید:
-
در دایرکتوری کاری خود، مطمئن شوید که اعتبارنامههای شناسه کلاینت OAuth خود را ذخیره کرده و فایل را با نام
credentials.jsonنامگذاری کردهاید. نمونه کد از این فایل JSON برای احراز هویت با Google Workspace و دریافت اعتبارنامههای کاربر استفاده میکند. برای دستورالعملها، به Create OAuth client ID credentials مراجعه کنید.برای بهروزرسانی اشتراک Google Workspace، دستور زیر را در ترمینال خود اجرا کنید:
python3 update_subscription.py
Subscription است. برای دریافت جزئیات مربوط به منبع بهروزرسانیشدهی Subscription ، از متد operations.get() استفاده کنید و منبع Operation که از درخواست subscriptions.update() برگردانده شده است را مشخص کنید. در غیر این صورت، اگر یک منبع Operation از نسخه قبلی اشتراک را مشخص کنید، پاسخ خالی خواهد بود.
بهروزرسانی یا تمدید اشتراک به عنوان برنامه Google Chat
شما میتوانید به جای کاربر، اشتراک خود را در رویدادهای چت به عنوان یک برنامه چت بهروزرسانی یا تمدید کنید. روند کار مشابه است، با این تفاوت که:
به جای احراز هویت کاربر، به عنوان یک برنامه چت با تأیید یکباره مدیر، احراز هویت کنید .
محدودههای مجوزدهی را مشخص کنید که به برنامه چت اجازه میدهد در رویدادهای چت مشترک شود. این محدودههای مجوزدهی همیشه با
chat.appشروع میشوند و شامل موارد زیر هستند:-
https://www.googleapis.com/auth/chat.app.memberships: در رویدادهای اعضای فضای چت مشترک شوید. -
https://www.googleapis.com/auth/chat.app.messages.readonly: در رویدادهای پیام فضای چت مشترک شوید. -
https://www.googleapis.com/auth/chat.app.spaces: در رویدادهای فضای چت مشترک شوید.
-
ایجاد کلید API
برای فراخوانی متد API پیشنمایش توسعهدهنده، باید از یک نسخه پیشنمایش توسعهدهنده غیرعمومی از سند کشف API استفاده کنید. برای تأیید اعتبار درخواست، باید یک کلید API ارسال کنید.
برای ایجاد کلید API، پروژه Google Cloud برنامه خود را باز کنید و موارد زیر را انجام دهید:
- در کنسول گوگل کلود، به Menu > APIs & Services > Credentials بروید.
- روی ایجاد اعتبارنامه > کلید API کلیک کنید.
- کلید API جدید شما نمایش داده میشود.
- برای کپی کردن کلید API خود جهت استفاده در کد برنامه، روی گزینه کپی کردن کلیک کنید. کلید API را میتوانید در بخش «کلیدهای API» در اعتبارنامههای پروژه خود نیز پیدا کنید.
- برای جلوگیری از استفاده غیرمجاز، توصیه میکنیم مکان و نوع APIهایی که کلید API میتواند استفاده شود را محدود کنید. برای جزئیات بیشتر، به افزودن محدودیتهای API مراجعه کنید.
اسکریپتی بنویسید که API رویدادهای Google Workspace را فراخوانی کند
نمونه کد زیر اشتراک Google Workspace یک برنامه چت را بهروزرسانی میکند:
پایتون
"""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)
موارد زیر را جایگزین کنید:
SCOPES: محدودههای مجوزدهی را مشخص کنید که به برنامه چت اجازه میدهد در رویدادهای چت مشترک شود. این محدودههای مجوزدهی همیشه باchat.appشروع میشوند و شامل موارد زیر هستند:-
https://www.googleapis.com/auth/chat.app.memberships: در رویدادهای اعضای فضای چت مشترک شوید. -
https://www.googleapis.com/auth/chat.app.messages.readonly: در رویدادهای پیام و واکنش فضای چت مشترک شوید. -
https://www.googleapis.com/auth/chat.app.spaces: در رویدادهای فضای چت مشترک شوید.
-
API_KEY: کلید API که برای ساخت نقطه پایانی سرویس برای Google Workspace Events API ایجاد کردهاید.SUBSCRIPTION_ID: شناسه اشتراک. برای دریافت شناسه، میتوانید از هر یک از موارد زیر استفاده کنید: