במדריך הזה מוסבר איך משתמשים בשיטה findDirectMessage
במשאב Space
של Google Chat API כדי לקבל פרטים על מרחבים משותפים בצ'אטים אישיים.
המשאב Space
מייצג מקום שבו אנשים ואפליקציות של Chat יכולים לשלוח הודעות, לשתף קבצים ולשתף פעולה. יש כמה סוגים של מרחבים משותפים:
- צ'אטים אישיים (DM) הם שיחות בין שני משתמשים או משתמש ואפליקציית Chat.
- צ'אטים קבוצתיים הם שיחות בין שלושה משתמשים או יותר לבין אפליקציות צ'אט.
- מרחבים משותפים עם שמות הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים ועובדים יחד.
אימות באמצעות אימות אפליקציות מאפשר לאפליקציית Chat לקבל צ'אטים אישיים שיש לאפליקציית Chat גישה אליהם ב-Google Chat (למשל, צ'אטים אישיים שהצ'אט חלק בהם). אימות באמצעות אימות משתמשים יחזיר צ'אטים אישיים שלמשתמש המאומת יש גישה אליהם.
דרישות מוקדמות
Python
- Python 3.6 ואילך
- הכלי pip לניהול חבילות
ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותן, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- פרויקט ב-Google Cloud עם ממשק Google Chat API פעיל ומוגדר. במאמר איך יוצרים אפליקציה ל-Google Chat מוסבר איך עושים זאת.
ההרשאות שהוגדרו לאפליקציית Chat, כמו חיפוש צ'אטים אישיים, תומכות בשני דברים:
- אימות משתמשים עם היקף ההרשאה
chat.spaces.readonly
אוchat.spaces
. - אימות אפליקציות עם היקף ההרשאה
chat.bot
.
- אימות משתמשים עם היקף ההרשאה
Node.js
- Node.js ו-npm
ספריות הלקוח העדכניות של Google ל-Node.js. כדי להתקין אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
npm install @google-cloud/local-auth @googleapis/chat
- פרויקט ב-Google Cloud עם ממשק Google Chat API פעיל ומוגדר. במאמר איך יוצרים אפליקציה ל-Google Chat מוסבר איך עושים זאת.
ההרשאות שהוגדרו לאפליקציית Chat, כמו חיפוש צ'אטים אישיים, תומכות בשני דברים:
- אימות משתמשים עם היקף ההרשאה
chat.spaces.readonly
אוchat.spaces
. - אימות אפליקציות עם היקף ההרשאה
chat.bot
.
- אימות משתמשים עם היקף ההרשאה
איך מחפשים צ'אטים אישיים
כדי למצוא צ'אט אישי ב-Google Chat, צריך להעביר את הפרטים הבאים לבקשה:
- באמצעות אימות אפליקציות, מציינים את היקף ההרשאות של
chat.bot
. באמצעות אימות משתמשים, מציינים את היקף ההרשאהchat.spaces.readonly
אוchat.spaces
. - קוראים ל-method
findDirectMessage
במשאבUser
ומעבירים אתname
למשתמש האחר בצ'אט כדי לחזור אליו. באמצעות אימות משתמשים, השיטה הזו מחזירה צ'אט אישי בין המשתמש שמתקשר לבין המשתמש שצוין. באמצעות אימות אפליקציות, השיטה הזו מחזירה צ'אט אישי בין האפליקציה לשיחות לבין המשתמש שצוין. - כדי להוסיף משתמש אנושי כחבר למרחב המשותף, צריך לציין
users/{user}
. השדה{user}
הוא הערך{person_id}
שלperson
ב-People API, או המזהה שלuser
ב-Directory API. לדוגמה, אם המשתמשresourceName
ב-People API הוא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 API מחזיר מופע של 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 API מחזיר מופע של Space
שכולל פרטים על הצ'אט האישי שצוין.
נושאים קשורים
- איך יוצרים מרחב משותף
- איך מגדירים מרחב משותף
- איך מקבלים פרטים על מרחבים משותפים?
- הצגת רשימה של מרחבים משותפים
- איך מעדכנים את המרחב המשותף.
- איך מוחקים מרחבים משותפים?