איך יוצרים מרחבים משותפים

במדריך הזה מוסבר איך להשתמש create() במשאב Space ב-Google Chat API כדי ליצור מרחב משותף עם שם.

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

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

מרחב משותף עם שם הוא מקום שאנשים שולחים בו הודעות, משתפים קבצים לשתף פעולה. מרחבים משותפים עם שם יכולים לכלול אפליקציות של Chat. מרחבים עם שם כוללות פיצ'רים נוספים של שיחות קבוצתיות וצ'אטים אישיים ללא שם כמו מנהלי מרחב שיכולים להחיל הגדרות ניהול, ותיאורים, ולהוסיף או להסיר אנשים ואפליקציות. אחרי שיוצרים מרחב משותף בעל שם, המשתמש המאומת הוא המשתתף היחיד במרחב המשותף. במרחב המשותף לא כולל אפליקציות או אנשים אחרים. אפילו לא אפליקציית Chat. שיכולה ליצור אותו. איך מוסיפים אנשים למרחב המשותף? יוצרים מינוי.

כדי ליצור מרחב משותף עם שם ומספר משתתפים – שיחה קבוצתית ללא שם עם שלושה אנשים או יותר, שיחה אישית בין שני אנשים או שיחה אישית בין אדם לאפליקציית Chat שמפעילה את Chat API – מגדירים מרחב משותף במקום זאת.

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

Node.js

Python

Java

Apps Script

יצירת מרחב משותף בעל שם כמשתמשים

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

  • מציינים את היקף ההרשאה chat.spaces.create או chat.spaces.
  • קוראים לפונקציה CreateSpace() מעבירים את space כמופע של Space באמצעות השדות הבאים:
    • spaceType הוגדרה לערך SPACE.
    • displayName מוגדר לשם המרחב המשותף שגלוי למשתמשים.
    • אפשר להגדיר מאפיינים נוספים, למשל:
      • spaceDetails- תיאור הגלוי למשתמש ורשימת הנחיות עבור את המרחב.
      • predefinedPermissionSettings – הרשאות מוגדרות מראש למרחב המשותף. לדוגמה, אפשר להגדיר שהמרחב המשותף יכלול את כל חברי המועדון או רק את המרחב המשותף מנהלים יכולים לפרסם הודעות.

כדי ליצור מרחב משותף עם שם:

Node.js

chat/client-libraries/cloud/create-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.spaces.create'];

// This sample shows how to create a named space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME'
    }
  };

  // Make the request
  const response = await chatClient.createSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Python

chat/client-libraries/cloud/create_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def create_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.CreateSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        }
    )

    # Make the request
    response = client.create_space(request)

    # Handle the response
    print(response)

create_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/CreateSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateSpaceRequest;
import com.google.chat.v1.Space;

// This sample shows how to create space with user credential.
public class CreateSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      CreateSpaceRequest.Builder request = CreateSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"));
      Space response = chatServiceClient.createSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to create space with user credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function createSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };

  // Make the request
  const response = Chat.Spaces.create(space);

  // Handle the response
  console.log(response);
}

יצירת מרחב משותף בשם כאפליקציית Chat

נדרש אימות חד-פעמי של אפליקציות אישור אדמין.

כדי להזמין או להוסיף משתמשים למרחבים משותפים app verification, (אימות אפליקציה) את הפרטים הבאים בבקשה שלכם:

  • מציינים את היקף ההרשאה chat.app.spaces.create או chat.app.spaces.
  • קוראים לשיטה create במשאב Space.
  • סיום spaceType אל SPACE.
  • מגדירים את displayName לשם המרחב המשותף שגלוי למשתמשים. בדוגמה הבאה, הערך של displayName מוגדר ל-API-made.
  • מציינים את מספר הלקוח של דומיין Google Workspace באמצעות השדה customer.
  • אפשר גם להגדיר מאפיינים אחרים של המרחב המשותף, כמו spaceDetails (תיאור גלוי למשתמש ורשימת הנחיות למרחב המשותף).

יצירה של מפתח API

כדי לקרוא ל-method של API בתצוגה מקדימה למפתחים, צריך להשתמש בגרסה לא ציבורית של מסמך חשיפת ה-API בתצוגה מקדימה למפתחים. כדי לאמת את הבקשה, צריך להעביר מפתח API.

כדי ליצור את מפתח ה-API, פותחים את הפרויקט של האפליקציה ב-Google Cloud ומבצעים את הפעולות הבאות:

  1. במסוף Google Cloud, נכנסים לתפריט > ממשקי API ו Services (שירותים) > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה >. API key.
  3. מפתח ה-API החדש מוצג.
    • לוחצים על 'העתקה' . כדי להעתיק את מפתח ה-API לשימוש בקוד של האפליקציה. מפתח ה-API יכול להיות גם נמצא ב'מפתחות API'. בפרטי הכניסה של הפרויקט.
    • לוחצים על Restrict key כדי לעדכן את ההגדרות המתקדמות ולהגביל את השימוש. של מפתח ה-API. פרטים נוספים זמינים במאמר החלת הגבלות על מפתחות API.

כתיבת סקריפט שמפעיל את Chat API

כדי ליצור מרחב משותף עם שם:

Python

  1. בספריית העבודה, יוצרים קובץ בשם chat_space_create_named_app.py.
  2. מוסיפים את הקוד הבא ב-chat_space_create_named_app.py:

    from google.oauth2 import service_account
    from apiclient.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.app.spaces.create"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then creates a Chat space.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().create(
    
          # Details about the space to create.
          body = {
    
            # To create a named space, set spaceType to SPACE.
            'spaceType': 'SPACE',
    
            # The user-visible name of the space.
            'displayName': 'API-made',
    
            # The customer ID of the Workspace domain.
            'customer': 'CUSTOMER'
          }
    
          ).execute()
    
        # Prints details about the created space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. בקוד, מחליפים את מה שכתוב בשדות הבאים:

    • API_KEY: מפתח ה-API שיצרתם כדי ליצור את נקודת הקצה של השירות ל-Chat API.

    • CUSTOMER: מספר הלקוח של הדומיין רווח בפורמט customer/{customer} כאשר {customer} הוא ID מ- משאב לקוח של Admin SDK. כדי ליצור מרחב משותף ב-Google Workspace כמו באפליקציית Chat, משתמשים ב-customers/my_customer.

  4. בתיקיית העבודה, יוצרים ומריצים את הדוגמה:

    python3 chat_space_create_named_app.py
    

פתיחת המרחב המשותף ב-Google Chat

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