במדריך הזה מוסבר איך להשתמש במשאב list
שבמשאב Space
של
את Google Chat API כדי להציג מרחבים משותפים. הצגת מרחבים משותפים מחזירה מצב של חלוקה לדפים שניתן לסנן
רשימה של מרחבים
משאב אחד (Space
)
מייצג מקום שבו אנשים ואפליקציות Chat יכולים לשלוח הודעות,
לשתף קבצים ולשתף פעולה. יש כמה סוגים של מרחבים משותפים:
- צ'אטים ישירים הם שיחות בין שני משתמשים או משתמש, אפליקציה ל-Chat.
- צ'אטים קבוצתיים הם שיחות בין שלושה משתמשים או יותר, אפליקציות צ'אט.
- מרחבים עם שם הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים, ולשתף פעולה.
הצגת רשימה של מרחבים עם אימות אפליקציות מפרטת את המרחבים המשותפים שלאפליקציית Chat יש גישה אליהם. רישום מרחבים עם אימות משתמשים מציגה מרחבים שלמשתמש המאומת יש גישה אליהם.
דרישות מוקדמות
Python
- עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, הסמל והתיאור של אפליקציית Chat.
- להתקין את Python ספריית הלקוח של 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.spaces.readonly
אוchat.spaces
. - קוראים לפונקציה
שיטת
list
ב משאבSpace
.
בדוגמה הבאה מפורטים מרחבים עם שמות וצ'אטים קבוצתיים (אבל לא ישירים) הודעות, שמסוננות החוצה) גלויות למשתמש המאומת:
Python
- בספריית העבודה, יוצרים קובץ בשם
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:
Python
- בספריית העבודה, יוצרים קובץ בשם
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 רווחים לכל היותר. הערך המקסימלי הוא 1,000; ערכים מעל 1,000 משתנים באופן אוטומטי ל- 1,000.pageToken
: אסימון דף, שהתקבל מקריאה קודמת במרחב משותף. צריך לספק את האסימון הזה כדי לאחזר את הדף הבא. במהלך החלוקה לדפים, ערך המסנן צריך להתאים לקריאה שסיפקה אסימון הדף. עובר ערך שונה עלול להוביל לתוצאות בלתי צפויות.filter
: מסנן שאילתות. אפשר למצוא פרטים על השאילתות הנתמכות השיטהspaces.list
.
נושאים קשורים
- יוצרים מרחב משותף.
- איך מגדירים מרחב משותף.
- איך מקבלים פרטים על מרחבים משותפים?
- איך משנים את המרחב המשותף?
- איך מוחקים מרחבים משותפים
- איך מחפשים מרחבים משותפים בצ'אטים ישירים