מדריך זה מסביר איך להשתמש בשיטה setup
במשאב Space
של Google Chat API כדי להגדיר מרחב משותף ב-Google Chat. כשמגדירים מרחב משותף, המערכת מוסיפה אליו משתמשים ספציפיים.
המשאב Space
מייצג מקום שבו אנשים ואפליקציות של Chat יכולים לשלוח הודעות, לשתף קבצים ולשתף פעולה. יש כמה סוגים של מרחבים משותפים:
- צ'אטים אישיים (DM) הם שיחות בין שני משתמשים או משתמש ואפליקציית Chat.
- צ'אטים קבוצתיים הם שיחות בין שלושה משתמשים או יותר לבין אפליקציות צ'אט.
- מרחבים משותפים עם שמות הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים ועובדים יחד.
כשאתם מגדירים מרחב משותף, כדאי להביא בחשבון את הנקודות הבאות:
- המשתמש שמתקשר (מאומת) מתווסף אוטומטית למרחב המשותף, כך שלא צריך לציין בבקשה את המינוי שלו.
- כשיוצרים צ'אט אישי (DM), אם קיים צ'אט בין שני משתמשים, הוא חוזר אליו. אחרת, ייווצר צ'אט אישי.
- כשיוצרים צ'אט קבוצתי, אם אף אחד מהחברויות שצוינו בבקשה לא נוסף לצ'אט הקבוצתי (למשל, בעיית הרשאה), נוצר צ'אט קבוצתי ריק (כולל רק המשתמש שמתקשר).
- אי אפשר ליצור מרחבים משותפים עם תשובות בשרשור או לצרף אנשים לא מהארגון שלכם ב-Google Workspace.
- חברויות כפולות (כולל המשתמש שמתקשר) שצוינו בבקשה יסוננו, ולא יתקבלו הודעות שגיאה.
דרישות מוקדמות
Python
- Python 3.6 ואילך
- הכלי pip לניהול חבילות
ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותן, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- פרויקט ב-Google Cloud עם ממשק Google Chat API פעיל ומוגדר. במאמר איך יוצרים אפליקציה ל-Google Chat מוסבר איך עושים זאת.
הוגדרה הרשאה לאפליקציית Chat. כדי להגדיר מרחב משותף, צריך אימות משתמשים עם היקף ההרשאה
chat.spaces.create
אוchat.spaces
.
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.create
אוchat.spaces
.
איך מגדירים מרחבים משותפים
כדי להגדיר מרחב משותף, צריך להעביר את הפרטים הבאים לבקשה:
- צריך לציין את היקף ההרשאה
chat.spaces.create
אוchat.spaces
. - קוראים ל-method
setup
במשאבSpace
. - כדי להוסיף משתמש אנושי כחבר במרחב משותף, צריך לציין
users/{user}
, כאשר{user}
הוא{person_id}
שלperson
מ-People API, או המזהה שלuser
ב-Directory API. לדוגמה, אם המשתמשresourceName
ב-People API הואpeople/123456789
, אפשר להוסיף אותו למרחב המשותף על ידי הוספת המינוי ל-users/123456789
בתורmember.name
. - כדי ליצור צ'אט אישי בין המשתמש שמתקשר לבין משתמש אנושי אחר, אתם צריכים לציין בטופס את פרטי המינוי של המשתמש האנושי.
- כדי ליצור צ'אט אישי בין המשתמש שמתקשר לבין האפליקציה לשיחות, צריך להגדיר בשדה
Space.singleUserBotDm
את הערךtrue
בלי לציין חברויות. אפשר להשתמש בשיטה הזו רק כדי ליצור צ'אטים דרך אפליקציית השיחות, במאמר יצירת מינוי מוסבר איך מוסיפים את אפליקציית השיחות כמשתתפים במרחב משותף או כצ'אט קיים בין שני משתמשים.
בדוגמה הבאה אפשר ליצור מרחב משותף עם שם, ולצרף למרחב המשותף שלושה משתמשים – המשתמש המאומת ושני משתמשים ספציפיים אחרים:
Python
- בספריית העבודה, יוצרים קובץ בשם
chat_space_setup.py
. יש לכלול את הקוד הבא ב-
chat_space_setup.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.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # 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().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The people and app to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } } ] } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
בספריית העבודה, יוצרים ומריצים את הדוגמה:
python3 chat_space_setup.py
Node.js
- בספריית העבודה, יוצרים קובץ בשם
setup-space.js
. יש לכלול את הקוד הבא ב-
setup-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, ] } }); } setupSpace().then(console.log);
בספריית העבודה, מריצים את הדוגמה:
node setup-space.js
הוגדר מרחב צ'אט עם שם שכולל שלושה משתמשים, כולל המשתמש המאומת.
כדי להיכנס למרחב המשותף, תוכלו להשתמש במזהה המשאב של המרחב המשותף כדי ליצור את כתובת ה-URL של המרחב.
אפשר לאתר את מזהה המשאב מהמרחב המשותף name
בגוף התשובה של Google Chat. לדוגמה, אם השדה name
של המרחב המשותף הוא spaces/1234567
, תוכלו להיכנס למרחב המשותף באמצעות כתובת ה-URL הבאה: https://mail.google.com/chat/u/0/#chat/space/1234567
.
נושאים קשורים
- איך יוצרים מרחב משותף
- איך מקבלים פרטים על מרחבים משותפים?
- הצגת רשימה של מרחבים משותפים
- איך מעדכנים את המרחב המשותף.
- איך מוחקים מרחבים משותפים?
- איך מחפשים מרחבים משותפים לצ'אטים אישיים