Gruppenbereich mit ersten Mitgliedern einrichten

In diesem Leitfaden wird die Verwendung des setUp() für die Ressource Space der Google Chat API, um ein Google Chat-Konto einzurichten Leerzeichen. Wenn Sie einen Gruppenbereich einrichten, wird ein Gruppenbereich erstellt und bestimmte Nutzer werden diesem hinzugefügt.

Die Ressource Space ist ein Ort, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien teilen und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:

  • Direktnachrichten (DNs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und eine Chat-App.
  • Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
  • Benannte Gruppenbereiche sind dauerhafte Orte, an denen Nutzer Nachrichten senden, Dateien teilen und zusammenzuarbeiten.

Beachten Sie beim Einrichten eines Gruppenbereichs Folgendes:

  • Der anrufende (authentifizierte) Nutzer wird dem Gruppenbereich automatisch hinzugefügt. Sie müssen also die Mitgliedschaft des Nutzers in der Anfrage nicht angeben.
  • Wenn beim Erstellen einer Direktnachricht (DN) eine DN zwischen zwei Nutzern vorhanden ist, wird die DM zurückgegeben. Andernfalls wird eine Direktnachricht erstellt.
  • Wenn beim Erstellen eines Gruppenchats keine der in der Anfrage angegebenen Mitgliedschaften angegeben wird zum Gruppenchat hinzugefügt werden (z. B. Berechtigungsproblem), dann wird möglicherweise ein leerer Gruppenchat erstellt (einschließlich nur des anrufenden Nutzers).
  • Sie können keine Gruppenbereiche mit Antworten in Form von Threads einrichten und keine Personen außerhalb Ihrer Google Workspace-Organisation hinzufügen.
  • Doppelte Mitgliedschaften (einschließlich des anrufenden Nutzers), die in der Anfrage angegeben sind, werden herausgefiltert, anstatt zu einem Fehler zu führen.

Vorbereitung

Node.js

Python

Java

Apps Script

Gruppenbereich einrichten

Wenn Sie einen Gruppenbereich einrichten möchten, geben Sie Folgendes in Ihrer Anfrage an:

  • Geben Sie den Autorisierungsbereich chat.spaces.create oder chat.spaces an.
  • Rufen Sie die Methode SetUpSpace() auf.
  • Gib space als Instanz von Space mit allen erforderlichen Feldern wie displayName oder spaceType an.
  • Übergeben Sie memberships als Array von Membership Instanzen. Für jede Instanz:
    • Geben Sie users/{user} an, um einen menschlichen Nutzer als Mitglied des Gruppenbereichs hinzuzufügen, wobei {user} ist entweder der {person_id} für den person aus der People API oder die ID eines user in der Directory API. Wenn beispielsweise die People API-Person resourceName gleich people/123456789 ist, können Sie den Nutzer dem Gruppenbereich hinzufügen, indem Sie einschließlich einer Mitgliedschaft bei users/123456789 als member.name.
    • Geben Sie groups/{group} an, um eine Gruppe als Mitglied eines Gruppenbereichs hinzuzufügen. {group} ist die Gruppen-ID, für die Sie die Mitgliedschaft erstellen möchten. Die ID der Gruppe kann mit der Cloud Identity API abgerufen werden. Wenn die Cloud Identity API beispielsweise eine Gruppe mit dem Namen groups/123456789 zurückgibt, setzen Sie membership.groupMember.name auf groups/123456789. Google Groups-Gruppen können nicht wurden einem Gruppenchat oder einer Direktnachricht hinzugefügt, aber nur einem benannten Gruppenbereich.

Wenn Sie eine DM zwischen dem anrufenden Nutzer und einem anderen menschlichen Nutzer erstellen möchten, geben Sie in Ihrer Anfrage eine Mitgliedschaft des menschlichen Nutzers an.

Wenn Sie eine DM zwischen dem anrufenden Nutzer und der anrufenden App erstellen möchten, legen Sie space.singleUserBotDm auf true fest und geben Sie keine Mitgliedschaften an. Sie können Verwenden Sie diese Methode nur, um eine DN mit der aufrufenden App einzurichten. So fügen Sie die Anruffunktion hinzu: als Mitglied eines Gruppenbereichs oder als bestehende DN zwischen zwei menschlichen Nutzern, siehe Erstellen Sie eine Mitgliedschaft.

Im folgenden Beispiel wird ein benannter Gruppenbereich erstellt und eine Mitgliedschaft für den Gruppenbereich für zwei natürliche Personen (den authentifizierten Nutzer und einen anderen Nutzer) erstellt.

Node.js

chat/client-libraries/cloud/set-up-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 set up a named space with one initial member
// 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'
    },
    memberships: [{
      member: {
        // Replace USER_NAME here.
        name: 'users/USER_NAME',
        type: 'HUMAN'
      }
    }]
  };

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

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

main().catch(console.error);

Python

chat/client-libraries/cloud/set_up_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 set_up_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.SetUpSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        },
        memberships = [{
            "member": {
                # Replace USER_NAME here.
                "name": 'users/USER_NAME',
                "type_": 'HUMAN'
            }
        }]
    )

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

    # Handle the response
    print(response)

set_up_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/SetUpSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.Membership;
import com.google.chat.v1.SetUpSpaceRequest;
import com.google.chat.v1.Space;
import com.google.chat.v1.User;

// This sample shows how to set up a named space with one initial member with
// user credential.
public class SetUpSpaceUserCred {

  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))) {
      SetUpSpaceRequest.Builder request = SetUpSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"))
        .addAllMemberships(ImmutableList.of(Membership.newBuilder()
          .setMember(User.newBuilder()
            // Replace USER_NAME here.
            .setName("users/USER_NAME")
            .setType(User.Type.HUMAN)).build()));
      Space response = chatServiceClient.setUpSpace(request.build());

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

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to set up a named space with one initial member 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 setUpSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };
  const memberships = [{
    member: {
      // TODO(developer): Replace USER_NAME here
      name: 'users/USER_NAME',
      // User type for the membership
      type: 'HUMAN'
    }
  }];

  // Make the request
  const response = Chat.Spaces.setup({ space: space, memberships: memberships });

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

Ersetzen Sie zum Ausführen des Beispiels Folgendes:

  • DISPLAY_NAME: Der Anzeigename des neuen Gruppenbereichs.
  • USER_NAME: die ID des anderen Nutzers, der hinzugefügt werden soll Mitgliedschaft.

Um den Gruppenbereich aufzurufen, verwenden Sie die Ressourcen-ID des Gruppenbereichs, um die URL des Gruppenbereichs zu erstellen. Sie finden die Ressourcen-ID im Gruppenbereich name im Textkörper der Google Chat-Antwort. Wenn die name Ihres Gruppenbereichs beispielsweise spaces/1234567 lautet, können Sie den Gruppenbereich über die folgende URL aufrufen: https://mail.google.com/chat/u/0/#chat/space/1234567.