يوضّح هذا الدليل كيفية استخدام طريقة findDirectMessage
على Space
.
Google Chat API للاطّلاع على تفاصيل حول مساحة الرسائل المباشرة.
تشير رسالة الأشكال البيانية
مرجع Space
يمثّل مكانًا يمكن فيه للمستخدمين والتطبيقات في Chat إرسال الرسائل
ومشاركتها والتعاون. تتوفّر عدة أنواع من المساحات:
- الرسائل المباشرة هي محادثات بين مستخدمين أو مستخدم تطبيق Chat.
- الدردشات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر تطبيقات Chat
- المساحات المُعنونة هي أماكن دائمة يرسل من خلالها المستخدمون الرسائل ويشاركون الملفات والتعاون.
المصادقة مع مصادقة التطبيقات يسمح لتطبيق Chat بإرسال رسائل مباشرة بإمكان تطبيق Chat الوصول إلى محتوى في Google Chat (مثل الرسائل المباشرة التي يكون المستخدم عضوًا فيها). المصادقة مع تعرض مصادقة المستخدم رسائل مباشرة المستخدم الذي تمت مصادقته يمكنهم الدخول إليه.
المتطلبات الأساسية
Python
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
- تثبيت بايثون مكتبة برامج Google API
- إنشاء بيانات اعتماد الوصول استنادًا إلى طريقة المصادقة في Google Chat API
الطلب:
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
client_secrets.json
إلى الدليل المحلي. - للمصادقة كتطبيق Chat، اتّبِع الخطوات التالية:
إنشاء حساب خدمة
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
credentials.json
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
- اختر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو تطبيق Chat
Node.js
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
- تثبيت Node.js مكتبة برامج Google API
- إنشاء بيانات اعتماد الوصول استنادًا إلى طريقة المصادقة في Google Chat API
الطلب:
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
client_secrets.json
إلى الدليل المحلي. - للمصادقة كتطبيق Chat، اتّبِع الخطوات التالية:
إنشاء حساب خدمة
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
credentials.json
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
- اختر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو تطبيق Chat
العثور على رسالة مباشرة
للعثور على رسالة مباشرة في Google Chat، أدخِل ما يلي: طلبك:
- باستخدام مصادقة التطبيق، حدِّد
chat.bot
نطاق التفويض مع مصادقة المستخدم، تحديد نطاق تفويضchat.spaces.readonly
أوchat.spaces
. - عليك استدعاء
طريقة
findDirectMessage
علىUser
المورد، مع اجتيازname
للمستخدم الآخر في الرسالة المباشرة للعودة إليه مع مصادقة المستخدم، تُنتج هذه الطريقة رسالة مباشرة بين المستخدم المتصل والمستخدم المحدّد. مع مصادقة التطبيق، بهذه الطريقة عرض رسالة مباشرة بين تطبيق الاتصال والمستخدم المحدّد - لإضافة مستخدم بشري كعضو في المساحة، حدِّد السمة
users/{user}
، حيث{user}
هي إما{person_id}
person
من People API أو من معرّفuser
في واجهة برمجة التطبيقات للدليل. على سبيل المثال، إذا كان شخص واجهة برمجة تطبيقات "الأشخاص"resourceName
هيpeople/123456789
، يمكنك إضافة المستخدم إلى المساحة من خلال تضمين معusers/123456789
باعتبارهmember.name
.
العثور على رسالة مباشرة باستخدام مصادقة المستخدم
إليك كيفية العثور على رسالة مباشرة مع مصادقة المستخدم:
Python
- في دليل العمل، أنشِئ ملفًا باسم "
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()
في الرمز، استبدِل
USER
بـname
User
في Google Chatفي دليل العمل، أنشئ النموذج وشغِّله:
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);
في الرمز، استبدِل
USER
بـname
User
في Google Chatفي دليل العمل، شغِّل النموذج:
node find-direct-message-space.js
تعرض واجهة برمجة التطبيقات Chat مثيلاً من
Space
الذي يوضح بالتفصيل الرسالة المباشرة المحدّدة
العثور على رسالة مباشرة باستخدام مصادقة التطبيقات
إليك كيفية العثور على رسالة مباشرة مع مصادقة التطبيقات:
Python
- في دليل العمل، أنشِئ ملفًا باسم "
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)
في الرمز، استبدِل
USER
بـname
User
في Google Chatفي دليل العمل، أنشئ النموذج وشغِّله:
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);
في الرمز، استبدِل
USER
بـname
User
في Google Chatفي دليل العمل، شغِّل النموذج:
node app-find-direct-message-space.js
تعرض واجهة برمجة التطبيقات Chat مثيلاً من
Space
الذي يعرض بالتفصيل الرسالة المباشرة المحدّدة