این راهنما نحوه استفاده از روش findDirectMessage
در منبع Space
Google Chat API برای دریافت جزئیات در مورد فضای پیام مستقیم (DM) توضیح میدهد.
منبع Space
مکانی را نشان میدهد که در آن افراد و برنامههای چت میتوانند پیام ارسال کنند، فایلها را به اشتراک بگذارند و با هم همکاری کنند. چند نوع فضا وجود دارد:
- پیامهای مستقیم (DM) مکالمات بین دو کاربر یا یک کاربر و یک برنامه چت هستند.
- چت گروهی مکالمه بین سه یا چند کاربر و برنامه های چت است.
- فضاهای نامگذاری شده مکانهایی هستند که افراد در آن پیام میفرستند، فایلها را به اشتراک میگذارند و همکاری میکنند.
احراز هویت با احراز هویت برنامه به برنامه Chat امکان میدهد DMهایی را که برنامه Chat در Google Chat به آنها دسترسی دارد دریافت کند (برای مثال، پیامهایی که عضو آن است). احراز هویت با احراز هویت کاربر ، 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.bot
را مشخص کنید. با احراز هویت کاربر ، محدوده مجوزchat.spaces.readonly
یاchat.spaces
را مشخص کنید. - متد
findDirectMessage
را در منبعUser
فراخوانی کنید وname
کاربر دیگر را در DM برای بازگشت ارسال کنید. با احراز هویت کاربر ، این روش یک DM بین کاربر تماسگیرنده و کاربر مشخص شده برمیگرداند. با احراز هویت برنامه ، این روش یک DM بین برنامه تماس گیرنده و کاربر مشخص شده برمی گرداند. - برای افزودن یک کاربر انسانی بهعنوان عضو فضایی،
users/{user}
را مشخص کنید، جایی که{user}
یا{person_id}
برایperson
از People API یا شناسه یکuser
در Directory API است. برای مثال، اگر People API personresourceName
people/123456789
باشد، میتوانید کاربر را با عضویت باusers/123456789
بهعنوانmember.name
به فضا اضافه کنید.
یک پیام مستقیم با احراز هویت کاربر پیدا کنید
در اینجا نحوه یافتن یک پیام مستقیم با احراز هویت کاربر آورده شده است:
پایتون
- در پوشه کاری خود، فایلی با نام
chat_space_find_dm_user.py
ایجاد کنید. کد زیر را در
chat_space_find_dm_user.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 returns details about a specified DM. ''' # 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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() # Prints details about the direct message. print(result) if __name__ == '__main__': main()
در کد،
name
User
در چت گوگل جایگزینUSER
کنید.در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_find_dm_user.py
Node.js
در پوشه کاری خود، یک فایل با نام
find-direct-message-space.js
ایجاد کنید.کد زیر را در
find-direct-message-space.js
قرار دهید:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
در کد،
name
User
در چت گوگل جایگزینUSER
کنید.در پوشه کاری خود، نمونه را اجرا کنید:
node find-direct-message-space.js
Chat API نمونهای از Space
را برمیگرداند که DM مشخصشده را جزئیات میدهد.
یک پیام مستقیم با تأیید اعتبار برنامه پیدا کنید
در اینجا نحوه یافتن پیام مستقیم با تأیید اعتبار برنامه آمده است:
پایتون
- در پوشه کاری خود، یک فایل با نام
chat_space_find_dm_app.py
ایجاد کنید. کد زیر را در
chat_space_find_dm_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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() print(result)
در کد،
name
User
در چت گوگل جایگزینUSER
کنید.در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_find_dm_app.py
Node.js
در پوشه کاری خود، فایلی با نام
app-find-direct-message-space.js
ایجاد کنید.کد زیر را در
app-find-direct-message-space.js
قرار دهید:const chat = require('@googleapis/chat'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
در کد،
name
User
در چت گوگل جایگزینUSER
کنید.در پوشه کاری خود، نمونه را اجرا کنید:
node app-find-direct-message-space.js
Chat API نمونهای از Space
را برمیگرداند که DM مشخصشده را جزئیات میدهد.
موضوعات مرتبط
- یک فضا ایجاد کنید .
- یک فضا تنظیم کنید .
- جزئیات مربوط به یک فضا را دریافت کنید .
- لیست فضاها
- یک فضا را به روز کنید .
- یک فاصله را حذف کنید .