این راهنما نحوه استفاده از منبع list
موجود در منبع Space
API Google Chat را برای فهرست کردن فضاها توضیح میدهد. Listing spaces یک لیست صفحه بندی شده و قابل فیلتر از فضاها را برمی گرداند.
منبع Space
مکانی را نشان میدهد که در آن افراد و برنامههای چت میتوانند پیام ارسال کنند، فایلها را به اشتراک بگذارند و با هم همکاری کنند. چند نوع فضا وجود دارد:
- پیامهای مستقیم (DM) مکالمات بین دو کاربر یا یک کاربر و یک برنامه چت هستند.
- چت گروهی مکالمه بین سه یا چند کاربر و برنامه های چت است.
- فضاهای نامگذاری شده مکانهایی هستند که افراد در آن پیام میفرستند، فایلها را به اشتراک میگذارند و همکاری میکنند.
فهرست کردن فضاها با احراز هویت برنامه، فضاهایی را فهرست می کند که برنامه چت به آنها دسترسی دارد. فضاهای فهرست شده با احراز هویت کاربر ، فضاهایی را فهرست می کند که کاربر احراز هویت شده به آنها دسترسی دارد.
پیش نیازها
پایتون
- یک حساب 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 Chat، موارد زیر را در درخواست خود ارسال کنید:
- با احراز هویت کاربر ، محدوده مجوز
chat.spaces.readonly
یاchat.spaces
را مشخص کنید. - متد
list
را در منبعSpace
فراخوانی کنید.
مثال زیر فضاهای نامگذاری شده و چتهای گروهی (اما نه پیامهای مستقیم، که فیلتر شدهاند) را فهرست میکند که برای کاربر تأیید شده قابل مشاهده است:
پایتون
- در پوشه کاری خود، یک فایل با نام
chat_space_list.py
ایجاد کنید. کد زیر را در
chat_space_list.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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists named spaces and group chats (but not direct messages) visible to the authenticated user. ''' # 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().list( # An optional filter that returns named spaces or unnamed group chats, # but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() # Prints the returned list of spaces. print(result) if __name__ == '__main__': main()
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_list.py
Node.js
- در پوشه کاری خود، یک فایل با نام
list-spaces.js
ایجاد کنید. کد زیر را در
list-spaces.js
قرار دهید:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
در پوشه کاری خود، نمونه را اجرا کنید:
node list-spaces.js
Chat API یک آرایه صفحه بندی شده از فضاهای نامگذاری شده و چت های گروهی را برمی گرداند.
فضاها را با احراز هویت برنامه فهرست کنید
برای فهرست کردن فضاها در Google Chat، موارد زیر را در درخواست خود ارسال کنید:
- با احراز هویت برنامه ، محدوده مجوز
chat.bot
را مشخص کنید. - متد
list
را در منبعSpace
فراخوانی کنید.
مثال زیر مکانهای نامگذاری شده و چتهای گروهی (اما نه پیامهای مستقیم) قابل مشاهده در برنامه چت را فهرست میکند:
پایتون
- در فهرست کاری خود، یک فایل با نام
chat_space_list_app.py
ایجاد کنید. کد زیر را در
chat_space_list_app.py
قرار دهید:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed # group chats, but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() print(result)
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_list_app.py
Node.js
- در پوشه کاری خود، یک فایل با نام
app-list-spaces.js
ایجاد کنید. کد زیر را در
app-list-spaces.js
قرار دهید:const chat = require('@googleapis/chat'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
در پوشه کاری خود، نمونه را اجرا کنید:
node app-list-spaces.js
Chat API یک آرایه صفحه بندی شده از فضاها را برمی گرداند.
صفحه بندی را سفارشی کنید یا لیست را فیلتر کنید
برای فهرست کردن فضاها در Google Chat، پارامترهای پرس و جو اختیاری زیر را برای سفارشی کردن صفحه بندی یا فیلتر کردن فضاهای فهرست شده ارسال کنید:
-
pageSize
: حداکثر تعداد فاصله برای بازگشت. ممکن است این سرویس کمتر از این مقدار را برگرداند. اگر نامشخص باشد، حداکثر 100 فاصله برگردانده می شود. حداکثر مقدار 1000 است. مقادیر بالای 1000 به طور خودکار به 1000 تغییر می کند. -
pageToken
: یک نشانه صفحه، دریافت شده از یک تماس قبلی با فاصله لیست. این نشانه را برای بازیابی صفحه بعدی ارائه دهید. هنگام صفحهبندی، مقدار فیلتر باید با تماسی که توکن صفحه را ارائه میکند، مطابقت داشته باشد. عبور یک مقدار متفاوت ممکن است منجر به نتایج غیرمنتظره شود. -
filter
: یک فیلتر پرس و جو. برای جزئیات درخواست پشتیبانی شده، به روشspaces.list
مراجعه کنید.
موضوعات مرتبط
- یک فضا ایجاد کنید .
- یک فضا تنظیم کنید .
- جزئیات مربوط به یک فضا را دریافت کنید .
- یک فضا را به روز کنید .
- یک فاصله را حذف کنید .
- یک فضای پیام مستقیم پیدا کنید .