این راهنما نحوه استفاده از متد update() در منبع Membership از API چت گوگل را برای تغییر ویژگیهای مربوط به یک عضویت، مانند تغییر یک عضو فضا به یک مدیر فضا یا یک مالک فضا، توضیح میدهد.
اگر شما مدیر Google Workspace هستید، میتوانید متد update() را برای بهروزرسانی عضویت هر فضایی در سازمان Google Workspace خود فراخوانی کنید.
منبع Membership نشان میدهد که آیا یک کاربر انسانی یا برنامه Google Chat به یک فضا دعوت شده، بخشی از آن است یا در آن حضور ندارد.
پیشنیازها
نود جی اس
- یک حساب کاربری تجاری یا سازمانی Google Workspace با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه گوگل کلود ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- API چت گوگل را با نام، آیکون و توضیحات برای برنامه چت خود فعال و پیکربندی کنید .
- کتابخانه کلاینت ابری Node.js را نصب کنید.
- بر اساس نحوهی احراز هویت در درخواست API چت گوگل خود، اعتبارنامههای دسترسی ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبارنامههای OAuth client ID را ایجاد کنید و اعتبارنامهها را به عنوان یک فایل JSON با نام
credentials.jsonدر دایرکتوری محلی خود ذخیره کنید. - برای احراز هویت به عنوان برنامه چت، اعتبارنامههای حساب سرویس را ایجاد کنید و اعتبارنامهها را به عنوان یک فایل JSON با نام
credentials.jsonذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبارنامههای OAuth client ID را ایجاد کنید و اعتبارنامهها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید به عنوان کاربر یا برنامه چت احراز هویت کنید، یک محدوده مجوز انتخاب کنید .
بهروزرسانی عضویت
برای بهروزرسانی عضویت در یک فضا، موارد زیر را در درخواست خود وارد کنید:
- محدوده مجوز را مشخص کنید:
- با احراز هویت کاربر ، دامنه مجوز
chat.membershipsرا مشخص کنید. - با استفاده از احراز هویت برنامه ، محدوده مجوز
chat.app.membershipsرا مشخص کنید. هنگام بهروزرسانی عضویت با احراز هویت برنامه، فقط میتوانید عضویتها را در فضاهای ایجاد شده توسط برنامههای چت بهروزرسانی کنید. احراز هویت برنامه نیاز به تأیید یکباره مدیر دارد.
- با احراز هویت کاربر ، دامنه مجوز
- متد
UpdateMembership()را فراخوانی کنید. -
membershipبه عنوان نمونهای ازMembershipبا موارد زیر منتقل کنید:- فیلد
nameکه برای بهروزرسانی به عضویت تنظیم شده است، شامل یک شناسه فضا و یک شناسه عضو است. - فیلدهای عضویت که باید بهروزرسانی شوند، روی مقادیر جدید تنظیم میشوند.
- فیلد
- برای مشخص کردن جنبههای عضویت که باید بهروزرسانی شوند،
updateMaskارسال کنید که شامل موارد زیر است:-
role: نقش کاربر در فضای چت، که اقدامات مجاز او را در فضا تعیین میکند. برای توضیحات بیشتر در مورد مجوزها، بهMembershipRoleدر مستندات مرجع Chat API مراجعه کنید. مقادیر ممکن عبارتند از:-
ROLE_MEMBER: عضوی از فضا. در رابط کاربری چت، این نقش Member نامیده میشود. -
ROLE_ASSISTANT_MANAGER: یک مدیر فضا. در رابط کاربری چت، این نقش Manager نامیده میشود. -
ROLE_MANAGER: مالک فضا. در رابط کاربری چت، این نقش Owner نامیده میشود.
-
-
تغییر یک عضو به مالک (احراز هویت کاربر)
مثال زیر با استفاده از احراز هویت کاربر، Chat API را فراخوانی میکند تا با تعیین role ROLE_MANAGER یک عضو معمولی space را به مالک space تبدیل کند:
نود جی اس
برای اجرای نمونه، موارد زیر را جایگزین کنید:
-
SPACE_NAME: شناسهای که ازnameفضا گرفته شده است. میتوانید شناسه را با فراخوانی متدListSpaces()یا از URL فضا به دست آورید. -
MEMBER_NAME: شناسه ازnameعضویت. میتوانید شناسه را با فراخوانی متدListMemberships()یا از بدنه پاسخی که پس از ایجاد عضویت به صورت غیرهمزمان با Chat API برگردانده میشود، به دست آورید. -
ROLE_NAME: نقش بهروزرسانیشده،ROLE_MANAGER. میتوانید این مقدار را روی هر مقداری ازMembershipRoleتنظیم کنید. برای مثال، برای اینکه عضو معمولی به مدیر فضا تبدیل شود،ROLE_NAMEبهROLE_ASSISTANT_MANAGERتغییر دهید.
API چت گوگل، عضویت مشخص شده را برای مالک فضا بهروزرسانی میکند و نمونهای از Membership را برمیگرداند.
تغییر مالک به عضو (احراز هویت کاربر)
مثال زیر با استفاده از احراز هویت کاربر، Chat API را فراخوانی میکند تا با تعیین role ROLE_MEMBER مالک فضا را به یک عضو معمولی فضا تبدیل کند:
نود جی اس
برای اجرای نمونه، موارد زیر را جایگزین کنید:
-
SPACE_NAME: شناسهای که ازnameفضا گرفته شده است. میتوانید شناسه را با فراخوانی متدListSpaces()یا از URL فضا به دست آورید. -
MEMBER_NAME: شناسه ازnameعضویت. میتوانید شناسه را با فراخوانی متدListMemberships()یا از بدنه پاسخی که پس از ایجاد عضویت به صورت غیرهمزمان با Chat API برگردانده میشود، به دست آورید. -
ROLE_NAME: نقش بهروزرسانیشده،ROLE_MEMBER.
API چت گوگل، عضویت مشخص شده را برای مالک فضا بهروزرسانی میکند و نمونهای از Membership را برمیگرداند.
تغییر عضو به مالک (احراز هویت از طریق برنامه چت)
احراز هویت برنامه نیاز به تأیید یکباره مدیر دارد.
اسکریپتی بنویسید که Chat API را فراخوانی کند.
مثال زیر با استفاده از احراز هویت برنامه، Chat API را فراخوانی میکند تا با تعیین role ROLE_MANAGER در body که ویژگیهای عضویت بهروزرسانیشده را مشخص میکند، یک عضو معمولی فضا را به مالک فضا تبدیل کند:
پایتون
- در دایرکتوری کاری خود، فایلی با نام
chat_membership_update_to_owner_app.pyایجاد کنید. کد زیر را در
chat_membership_update_to_owner_app.pyقرار دهید:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space owner. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', # Replace ROLE with a MembershipRole value. # Obtain the MembershipRole values from the membership of Chat API. body={'role': 'ROLE'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()در کد، موارد زیر را جایگزین کنید:
SPACE: نام یک فضا که میتوانید آن را از متدspaces.listدر Chat API یا از URL یک فضا به دست آورید.MEMBERSHIP: یک نام عضویت که میتوانید از متدspaces.members.listدر Chat API به دست آورید.ROLE: نقش بهروزرسانیشده،ROLE_MANAGER. میتوانید این مقدار را روی هر مقداری ازMembershipRoleتنظیم کنید. برای مثال، برای اینکه عضو معمولی به مدیر فضا تبدیل شود،ROLEبهROLE_ASSISTANT_MANAGERتغییر دهید.
در دایرکتوری کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update_to_owner_app.py
تغییر مالک به عضو (احراز هویت از طریق برنامه چت)
احراز هویت برنامه نیاز به تأیید یکباره مدیر دارد.
اسکریپتی بنویسید که Chat API را فراخوانی کند.
مثال زیر با استفاده از احراز هویت برنامه، API چت را فراخوانی میکند تا با تعیین role به عنوان ROLE_MEMBER در body که ویژگیهای عضویت بهروزرسانیشده را مشخص میکند، مالک فضا را به یک عضو معمولی فضا تبدیل کند:
پایتون
- در دایرکتوری کاری خود، فایلی با نام
chat_membership_update_to_member_app.pyایجاد کنید. کد زیر را در
chat_membership_update_to_member_app.pyقرار دهید:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space owner to change it to a regular member. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()در کد، موارد زیر را جایگزین کنید:
SPACE: نام یک فضا که میتوانید آن را از متدspaces.listدر Chat API یا از URL یک فضا به دست آورید.MEMBERSHIP: یک نام عضویت که میتوانید از متدspaces.members.listدر Chat API به دست آورید.
در دایرکتوری کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update_to_member_app.py
بهروزرسانی عضویتها به عنوان مدیر Google Workspace
اگر شما مدیر Google Workspace هستید، میتوانید متد update() را برای بهروزرسانی عضویتها برای هر فضایی در سازمان Google Workspace خود فراخوانی کنید.
برای فراخوانی این روش به عنوان مدیر Google Workspace، موارد زیر را انجام دهید:
- با استفاده از احراز هویت کاربر، متد را فراخوانی کنید و یک محدوده مجوز مشخص کنید که از فراخوانی متد با استفاده از امتیازات مدیر پشتیبانی کند.
- در درخواست خود، پارامتر query
useAdminAccessرا برابر باtrueقرار دهید.
برای اطلاعات و مثالهای بیشتر، به مدیریت فضاهای چت گوگل به عنوان مدیر فضای کاری گوگل مراجعه کنید.
مباحث مرتبط
- یک کاربر یا یک برنامه چت گوگل را به یک فضا دعوت یا اضافه کنید .
- جزئیات مربوط به عضویت یک کاربر یا برنامه چت را دریافت کنید .
- اعضا را در یک فاصله فهرست کنید .
- حذف یک کاربر یا برنامه چت از یک فضا .