این راهنما نحوه استفاده از متد patch()
را در منبع membership
Google Chat API برای تغییر ویژگیهای عضویت، مانند تغییر یک عضو فضایی به مدیر فضایی یا تغییر مدیر فضایی به عضو فضایی توضیح میدهد.
اگر یک سرپرست Google Workspace هستید، میتوانید برای بهروزرسانی عضویت هر فضا در سازمان Google Workspace خود، متد patch()
را فراخوانی کنید.
منبع Membership
نشان میدهد که آیا کاربر انسانی یا برنامه چت Google به یک فضا دعوت شده، بخشی از آن یا غایب است.
پیش نیازها
پایتون
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- کتابخانه Google API Client Python را نصب کنید.
- اعتبارنامه دسترسی را بر اساس نحوه احراز هویت در درخواست Google Chat API خود ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
client_secrets.json
در فهرست محلی خود ذخیره کنید. - برای احراز هویت بهعنوان برنامه چت، اعتبار حساب سرویس ایجاد کنید و اعتبارنامهها را بهعنوان فایل JSON با نام
credentials.json
ذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
Node.js
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- Node.js Google API Client Library را نصب کنید.
- اعتبارنامه دسترسی را بر اساس نحوه احراز هویت در درخواست Google Chat API خود ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
client_secrets.json
در فهرست محلی خود ذخیره کنید. - برای احراز هویت بهعنوان برنامه چت، اعتبار حساب سرویس ایجاد کنید و اعتبارنامهها را بهعنوان فایل JSON با نام
credentials.json
ذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
اسکریپت برنامه ها
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- یک پروژه Apps Script مستقل ایجاد کنید و سرویس گفتگوی پیشرفته را روشن کنید.
- در این راهنما، باید از احراز هویت کاربر یا برنامه استفاده کنید. برای احراز هویت به عنوان برنامه چت، اعتبارنامه حساب سرویس ایجاد کنید. برای مراحل، به تأیید اعتبار و مجوز به عنوان یک برنامه گپ Google مراجعه کنید.
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
یک عضویت را به روز کنید
برای بهروزرسانی عضویت فضایی، موارد زیر را در درخواست خود بنویسید:
- محدوده مجوز را مشخص کنید:
- با احراز هویت کاربر ، محدوده مجوز
chat.memberships
را مشخص کنید. - با احراز هویت برنامه (موجود در پیشنمایش برنامهنویس )، محدوده مجوز
chat.app.memberships
را مشخص کنید. هنگام بهروزرسانی عضویت با تأیید اعتبار برنامه، فقط میتوانید عضویتها را در فضاهای ایجاد شده توسط برنامههای چت بهروزرسانی کنید. احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.
- با احراز هویت کاربر ، محدوده مجوز
- متد
patch()
را در منبعMembership
فراخوانی کنید وname
عضویت را برای به روز رسانی ارسال کنید، همچنین یکupdateMask
وbody
که ویژگی های عضویت به روز شده را مشخص می کند. -
updateMask
جنبه های عضویت برای به روز رسانی را مشخص می کند و شامل موارد زیر است:-
role
: نقش کاربر در فضای چت، که اقدامات مجاز آنها را در فضا تعیین می کند. مقادیر ممکن عبارتند از:-
ROLE_MEMBER
: عضوی از فضا. کاربر دارای مجوزهای اولیه مانند ارسال پیام به فضا است. در مکالمات گروهی 1:1 و بدون نام، همه این نقش را دارند. -
ROLE_MANAGER
: یک مدیر فضا. کاربر تمام مجوزهای اولیه به اضافه مجوزهای مدیریتی را دارد که به او اجازه می دهد فضا را مدیریت کند، مانند افزودن یا حذف اعضا. فقط در فضاهایی کهspaceType
SPACE
است (فضاهای نامگذاری شده) پشتیبانی می شود.
-
-
یک عضو معمولی فضایی را به عنوان کاربر مدیر فضا کنید
مثال زیر Chat API را با استفاده از احراز هویت کاربر فراخوانی میکند تا با تعیین role
بهعنوان ROLE_MANAGER
در body
که ویژگیهای عضویت بهروز شده را مشخص میکند، یک عضو فضای معمولی را به عنوان مدیر فضا تبدیل کند:
پایتون
- در پوشه کاری خود، یک فایل با نام
chat_membership_update.py
ایجاد کنید. کد زیر را در
chat_membership_update.py
قرار دهید:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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_MANAGER'} ).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.py
Node.js
- در پوشه کاری خود، یک فایل با نام
chat_membership_update.js
ایجاد کنید. کد زیر را در
chat_membership_update.js
قرار دهید:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space member to a space manager. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.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', requestBody: { role: 'ROLE_MANAGER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
در کد زیر را جایگزین کنید:
SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.MEMBERSHIP
: یک نام عضویت که می توانید از روشspaces.members.list
در Chat API بدست آورید.
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update.js
اسکریپت برنامه ها
این مثال Chat API را با استفاده از Advanced Chat Service فراخوانی میکند.
محدوده مجوز
chat.memberships
را به فایلappsscript.json
پروژه Apps Script اضافه کنید:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
تابعی مانند این را به کد پروژه Apps Script اضافه کنید:
/** * Updates a membership from space member to space manager. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceManager(memberName) { try { const body = {'role': 'ROLE_MANAGER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create membership with error %s', err.message); } }
Google Chat API عضویت مشخص شده را به یک مدیر فضا تغییر میدهد و نمونهای از Membership
را که جزئیات این تغییر را توضیح میدهد برمیگرداند.
یک مدیر فضایی را به عنوان یک کاربر به عضویت عادی در آورید
مثال زیر Chat API را با استفاده از احراز هویت کاربر فراخوانی میکند تا با تعیین role
بهعنوان ROLE_MEMBER
در body
که ویژگیهای عضویت بهروز شده را مشخص میکند، یک مدیر فضایی را به یک عضو فضایی عادی تبدیل کند:
پایتون
- در پوشه کاری خود، یک فایل با نام
chat_membership_update.py
ایجاد کنید. کد زیر را در
chat_membership_update.py
قرار دهید:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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.py
Node.js
- در پوشه کاری خود، یک فایل با نام
chat_membership_update.js
ایجاد کنید. کد زیر را در
chat_membership_update.js
قرار دهید:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space manager to a space member. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.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', requestBody: { role: 'ROLE_MEMBER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
در کد زیر را جایگزین کنید:
SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.MEMBERSHIP
: یک نام عضویت که می توانید از روشspaces.members.list
در Chat API بدست آورید.
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update.js
اسکریپت برنامه ها
این مثال Chat API را با استفاده از Advanced Chat Service فراخوانی میکند.
محدوده مجوز
chat.memberships
را به فایلappsscript.json
پروژه Apps Script اضافه کنید:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
تابعی مانند این را به کد پروژه Apps Script اضافه کنید:
/** * Updates a membership from space manager to space member. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceMember(memberName) { try { const body = {'role': 'ROLE_MEMBER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create membership with error %s', err.message); } }
Google Chat API عضویت مشخص شده را به یک مدیر فضا تغییر میدهد و نمونهای از Membership
را که جزئیات این تغییر را توضیح میدهد برمیگرداند.
یک عضو معمولی فضایی را به عنوان یک برنامه چت مدیر فضا کنید
احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.
یک کلید API ایجاد کنید
برای فراخوانی یک روش API پیشنمایش برنامهنویس، باید از یک نسخه پیشنمایش برنامهنویس غیرعمومی سند کشف API استفاده کنید. برای احراز هویت درخواست، باید یک کلید API ارسال کنید.
برای ایجاد کلید API، پروژه Google Cloud برنامه خود را باز کنید و کارهای زیر را انجام دهید:
- در کنسول Google Cloud، به > APIs & Services > Credentials بروید. منو
- روی ایجاد اعتبارنامه > کلید API کلیک کنید.
- کلید API جدید شما نمایش داده می شود.
- روی Copy کلیک کنید تا کلید API خود را برای استفاده در کد برنامه خود کپی کنید. کلید API را میتوانید در بخش «کلیدهای API» اعتبار پروژهتان پیدا کنید.
- برای بهروزرسانی تنظیمات پیشرفته و محدود کردن استفاده از کلید API، روی Restrict key کلیک کنید. برای جزئیات بیشتر، به اعمال محدودیتهای کلید API مراجعه کنید.
اسکریپتی بنویسید که Chat API را فراخوانی کند
مثال زیر Chat API را با استفاده از احراز هویت برنامه فراخوانی میکند تا با تعیین role
بهعنوان ROLE_MANAGER
در body
که ویژگیهای عضویت بهروز شده را مشخص میکند، یک عضو فضای معمولی را به عنوان مدیر فضا تبدیل کند:
پایتون
- در فهرست کاری خود، فایلی با نام
chat_membership_update_to_manager_app.py
ایجاد کنید. کد زیر را در
chat_membership_update_to_manager_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 manager. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
در کد زیر را جایگزین کنید:
API_KEY
: کلید API که برای ساختن نقطه پایانی سرویس برای Chat API ایجاد کردید.SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.MEMBERSHIP
: یک نام عضویت که می توانید از روشspaces.members.list
در Chat API بدست آورید.
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update_to_manager_app.py
یک مدیر فضا را به عنوان یک برنامه چت به عضویت عادی خود درآورید
احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.
یک کلید API ایجاد کنید
برای فراخوانی یک روش API پیشنمایش برنامهنویس، باید از یک نسخه پیشنمایش برنامهنویس غیرعمومی سند کشف API استفاده کنید. برای احراز هویت درخواست، باید یک کلید API ارسال کنید.
برای ایجاد کلید API، پروژه Google Cloud برنامه خود را باز کنید و کارهای زیر را انجام دهید:
- در کنسول Google Cloud، به > APIs & Services > Credentials بروید. منو
- روی ایجاد اعتبارنامه > کلید API کلیک کنید.
- کلید API جدید شما نمایش داده می شود.
- روی Copy کلیک کنید تا کلید API خود را برای استفاده در کد برنامه خود کپی کنید. کلید API را میتوانید در بخش «کلیدهای API» اعتبار پروژهتان پیدا کنید.
- برای بهروزرسانی تنظیمات پیشرفته و محدود کردن استفاده از کلید API، روی Restrict key کلیک کنید. برای جزئیات بیشتر، به اعمال محدودیتهای کلید API مراجعه کنید.
اسکریپتی بنویسید که Chat API را فراخوانی کند
مثال زیر Chat 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 member to change it from a regular member to a space manager. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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()
در کد زیر را جایگزین کنید:
API_KEY
: کلید API که برای ساختن نقطه پایانی سرویس برای Chat API ایجاد کردید.SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.MEMBERSHIP
: یک نام عضویت که می توانید از روشspaces.members.list
در Chat API بدست آورید.
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_membership_update_to_member_app.py
عضویت ها را به عنوان سرپرست Google Workspace به روز کنید
اگر سرپرست Google Workspace هستید، میتوانید برای بهروزرسانی عضویتها برای هر فضایی در سازمان Google Workspace، روش patch()
را فراخوانی کنید.
برای فراخوانی این روش به عنوان سرپرست Google Workspace، موارد زیر را انجام دهید:
- روش را با استفاده از احراز هویت کاربر فراخوانی کنید و محدوده مجوزی را مشخص کنید که از فراخوانی روش با استفاده از امتیازات سرپرست پشتیبانی می کند.
- در درخواست خود، پارامتر query
useAdminAccess
را بهtrue
مشخص کنید.
برای اطلاعات بیشتر و مثالها، به مدیریت فضاهای گپ Google به عنوان سرپرست Google Workspace مراجعه کنید.
موضوعات مرتبط
- یک کاربر یا یک برنامه چت Google را به یک فضا دعوت یا اضافه کنید .
- جزئیات عضویت کاربر یا برنامه چت را دریافت کنید .
- اعضا را در یک فضا فهرست کنید .
- یک کاربر یا برنامه چت را از یک فضا حذف کنید .