הגדרת מרחב משותף עם כל מי שיצטרף למרחב המשותף

במדריך הזה מוסבר איך להשתמש ב-method setup במשאב Space של Google Chat API להגדרת מרחב ב-Google Chat. כשיוצרים מרחב משותף ומוסיף אליו משתמשים ספציפיים.

משאב אחד (Space) מייצג מקום שבו אנשים ואפליקציות Chat יכולים לשלוח הודעות, לשתף קבצים ולשתף פעולה. יש כמה סוגים של מרחבים משותפים:

  • צ'אטים ישירים הם שיחות בין שני משתמשים או משתמש, אפליקציה ל-Chat.
  • צ'אטים קבוצתיים הם שיחות בין שלושה משתמשים או יותר, אפליקציות צ'אט.
  • מרחבים עם שם הם מקומות קבועים שבהם אנשים שולחים הודעות, משתפים קבצים, ולשתף פעולה.

כשיוצרים מרחב משותף, כדאי:

  • המשתמש ששלח את השיחה (המאומת) יתווסף אוטומטית למרחב המשותף, כך שאתם לא צריך לציין בבקשה את החברות של המשתמש.
  • כשיוצרים צ'אט אישי, אם יש שני משתמשים בצ'אט אישי, הצ'אט מוחזר. אם לא, נוצרת צ'אט.
  • כשיוצרים צ'אט קבוצתי, אם אף אחד מהחברויות שצוינו בבקשה לא מופיע נוספו בהצלחה לצ'אט הקבוצתי (למשל, בעיה בהרשאות), ואז יכול להיות שייווצר צ'אט קבוצתי ריק (כולל רק את המשתמש המתקשר).
  • אין לך אפשרות להגדיר מרחבים עם תשובות לשרשורים או לצרף אנשים שלא מהארגון שלך Google Workspace
  • מינויים כפולים (כולל המשתמש שהתקשרו אליו) שצוינו בבקשה לא יוצגו נתונים כך שלא יופיעו בדוח שגיאה.

דרישות מוקדמות

Python

Node.js

הגדרת מרחב

כדי להגדיר מרחב משותף, מזינים את הפרטים הבאים בבקשה:

  • מציינים את היקף ההרשאה chat.spaces.create או chat.spaces.
  • קוראים לפונקציה שיטת setup במשאב Space.
  • כדי להוסיף משתמש אנושי למרחב המשותף, צריך לציין את users/{user}, כאשר {user} הוא {person_id} עבור person מ-People API, או מהמזהה של user ב-Directory API. לדוגמה, אם משתמש ה-People API resourceName הוא people/123456789. אפשר להוסיף את המשתמש למרחב המשותף באמצעות כולל חברות במועדון של users/123456789 בתור member.name.
  • כדי לצרף למרחב המשותף קבוצה, צריך לציין groups/{group}, שבו {group} הוא מזהה הקבוצה שרוצים ליצור לה חברות. המזהה של הקבוצה להיות מאוחזרות באמצעות Cloud Identity API. לדוגמה, אם Cloud Identity API מחזירה קבוצה בשם groups/123456789, ואז מגדירים membership.groupMember.name אל groups/123456789. קבוצות Google לא יכולות להיות נוספו לצ'אטים קבוצתיים או לצ'אטים קבוצתיים, אבל רק למרחב משותף עם שם.
  • איך יוצרים צ'אט בין המשתמש המתקשר לבין אדם אחר עליכם לציין את סטטוס החברות של המשתמש האנושי בבקשה שלכם.
  • כדי ליצור צ'אט אישי בין המשתמש שמתקשר לאפליקציית השיחות, צריך להגדיר Space.singleUserBotDm אל true בלי לציין מינויים. אפשר אפשר להשתמש בשיטה הזו רק כדי להגדיר צ'אט אישי באפליקציית השיחות. כדי להוסיף את השיחה באפליקציה שלכם במרחב משותף או בצ'אט קיים בין שני משתמשים אנושיים: יוצרים מינוי.

בדוגמה הבאה, יוצרים מרחב משותף עם שם וחברויות במרחב המשותף. לקבוצה אחת ולשלושה משתמשים אנושיים (כולל המשתמש המאומת ושניים משתמשים אחרים שצוינו).

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_space_setup.py.
  2. צריך לכלול את הקוד הבא ב-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 users and groups 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'
                  }
                },
                {
                  'groupMember': {
                    'name': 'groups/11223344'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. בספריית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_space_setup.py
    

Node.js

  1. בספריית העבודה, יוצרים קובץ בשם setup-space.js.
  2. צריך לכלול את הקוד הבא ב-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'}},
            {groupMember: {name: 'groups/11223344'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. בספריית העבודה, מריצים את הדוגמה:

    node setup-space.js
    

מרחב צ'אט בעל שם עם קבוצה אחת ושלושה משתמשים אנושיים, כולל משתמש מאומת מוגדר.

כדי לעבור למרחב המשותף, משתמשים במזהה המשאב של המרחב המשותף כדי ליצור את כתובת ה-URL שלו. אפשר לאתר את מזהה המשאב מהמרחב המשותף name בתשובה ב-Google Chat גוף ההודעה. לדוגמה, אם הערך של name במרחב המשותף הוא spaces/1234567, אפשר לבצע את הפעולות הבאות למרחב באמצעות כתובת ה-URL הבאה: https://mail.google.com/chat/u/0/#chat/space/1234567.