Einen benannten Gruppenbereich in Google Chat erstellen

In diesem Leitfaden wird beschrieben, wie Sie einen benannten Gruppenbereich mit der Methode create() auf der Ressource Space der Google Chat API erstellen.

In einem benannten Gruppenbereich (wobei spaceType durch SPACE ersetzt wird) können Nutzer Nachrichten senden, Dateien teilen und zusammenarbeiten. Benannte Gruppenbereiche können Chat-Apps enthalten. Für benannte Gruppenbereiche gibt es Administratoren, die Verwaltungseinstellungen und Beschreibungen anwenden sowie Personen und Apps hinzufügen oder entfernen können.

Wenn Sie verschiedene Arten von Chatbereichen erstellen möchten (einschließlich Direktnachrichten oder Gruppennachrichten), verwenden Sie die setUp()-Methode auf der Space-Ressource, um den Bereich zu erstellen und gleichzeitig Mitglieder hinzuzufügen. Weitere Informationen finden Sie unter Gruppenbereich einrichten.

Nach dem Erstellen eines benannten Gruppenbereichs ist der authentifizierte Nutzer das einzige Mitglied des Gruppenbereichs. Wenn Sie dem Gruppenbereich Mitglieder hinzufügen möchten, rufen Sie für jede Person oder App, die Sie hinzufügen möchten, die Methode create() für die Membership-Ressource auf. Alternativ können Sie die setUp()-Methode verwenden, um einen benannten Gruppenbereich zu erstellen und ihm gleichzeitig Mitglieder hinzuzufügen.

Vorbereitung

Node.js

Python

Java

Apps Script

Als Nutzer einen benannten Gruppenbereich erstellen

Wenn Sie einen Gruppenbereich mit Nutzerauthentifizierung erstellen möchten, geben Sie in Ihrer Anfrage Folgendes an:

  • Geben Sie den Autorisierungsbereich chat.spaces.create oder chat.spaces an.
  • Rufen Sie die Methode CreateSpace() auf und übergeben Sie space als Instanz von Space mit den folgenden Feldern:
    • spaceType“ ist auf „SPACE“ gesetzt.
    • displayName auf den für Nutzer sichtbaren Namen des Gruppenbereichs festgelegt ist.
    • Optional können Sie weitere Attribute festlegen, z. B.:
      • spaceDetails – eine für Nutzer sichtbare Beschreibung und Richtlinien für den Gruppenbereich.
      • predefinedPermissionSettings: Vordefinierte Berechtigungen für den Gruppenbereich. Sie können beispielsweise festlegen, dass alle Mitglieder oder nur die Administratoren des Gruppenbereichs Nachrichten posten dürfen.

So erstellen Sie einen benannten Bereich:

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);
}

Einen benannten Gruppenbereich als Chat-App erstellen

Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.

Wenn Sie einen Nutzer zu einem Gruppenbereich mit App-Authentifizierung einladen oder hinzufügen möchten, geben Sie in Ihrer Anfrage Folgendes an:

  • Geben Sie den chat.app.spaces.create- oder chat.app.spaces-Autorisierungsbereich an.
  • Rufen Sie die Methode create für die Ressource Space auf.
  • Legen Sie spaceType auf SPACE fest.
  • Legen Sie displayName auf den für Nutzer sichtbaren Namen des Gruppenbereichs fest. Im folgenden Beispiel ist displayName auf API-made festgelegt.
  • Geben Sie die Kundennummer der Google Workspace-Domain im Feld customer an.
  • Optional können Sie weitere Gruppenbereichsattribute festlegen, z. B. spaceDetails (eine für Nutzer sichtbare Beschreibung und Richtlinien für den Gruppenbereich).

API-Schlüssel erstellen

Wenn Sie eine API-Methode der Entwicklervorschau aufrufen möchten, müssen Sie eine nicht öffentliche Entwicklervorschauversion des API-Discovery-Dokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.

Öffnen Sie zum Erstellen des API-Schlüssels das Google Cloud-Projekt Ihrer App und führen Sie die folgenden Schritte aus:

  1. Gehen Sie in der Google Cloud Console zu „Menü“  > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Ihr neuer API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ , um den API-Schlüssel für die Verwendung im Code Ihrer App zu kopieren. Den API-Schlüssel finden Sie auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts.
    • Klicken Sie auf Schlüssel einschränken, um die erweiterten Einstellungen zu aktualisieren und die Verwendung Ihres API-Schlüssels einzuschränken. Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.

Script zum Aufrufen der Chat API schreiben

So erstellen Sie einen benannten Bereich:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_create_named_app.py.
  2. Fügen Sie in chat_space_create_named_app.py den folgenden Code ein:

    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. Ersetzen Sie im Code Folgendes:

    • API_KEY: Der API-Schlüssel, den Sie zum Erstellen des Dienstendpunkts für die Chat API erstellt haben.

    • CUSTOMER: Die Kunden-ID der Domain des Gruppenbereichs im Format customer/{customer}, wobei {customer} die ID aus der Admin SDK-Kundenressource ist. Wenn Sie einen Gruppenbereich in derselben Google Workspace-Organisation wie die Chat-App erstellen möchten, verwenden Sie customers/my_customer.

  4. Erstellen und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    python3 chat_space_create_named_app.py

Gruppenbereich in Google Chat öffnen

Um zum Gruppenbereich zu gelangen, erstellen Sie mit der Ressourcen-ID des Gruppenbereichs die URL des Gruppenbereichs. Die Ressourcen-ID des Gruppenbereichs name finden Sie im Google Chat-Antworttext. Wenn die name Ihres Gruppenbereichs beispielsweise spaces/1234567 ist, können Sie ihn über die folgende URL aufrufen: https://mail.google.com/chat/u/0/#chat/space/1234567.