Details zu einem Termin in einem Google Chat-Bereich abrufen

In diesem Leitfaden wird erläutert, wie Sie die Methode get() für die Ressource SpaceEvent der Google Chat API verwenden, um Details zu einem Ereignis aus einem Google Chat-Gruppenbereich abzurufen.

Die SpaceEvent-Ressource stellt eine Änderung an einem Gruppenbereich oder seinen untergeordneten Ressourcen dar, z. B. Nachrichten, Reaktionen und Mitgliedschaften. Informationen zu den unterstützten Ereignistypen finden Sie in der Referenzdokumentation zum Feld eventType der Ressource SpaceEvent.

Sie können Ereignisse bis zu 28 Tage vor dem Zeitpunkt der Anfrage anfordern. Das Ereignis enthält die aktuelle Version der geänderten Ressource. Wenn Sie beispielsweise ein Ereignis zu einer neuen Nachricht anfordern, die Nachricht aber später aktualisiert wird, gibt der Server die aktualisierte Message-Ressource in der Ereignisnutzlast zurück.

Für den Aufruf dieser Methode ist eine Nutzerauthentifizierung erforderlich. Damit ein Ereignis abgerufen werden kann, muss der authentifizierte Nutzer Mitglied des Bereichs sein, in dem das Ereignis stattgefunden hat.

Vorbereitung

Node.js

Python

Details zu einem Bereichsereignis abrufen (Nutzerauthentifizierung)

Wenn Sie Details zu einem Gruppenbereichsereignis in Google Chat abrufen möchten, übergeben Sie Folgendes in Ihrer Anfrage:

  • Geben Sie einen Autorisierungsbereich an, der den Ereignistyp in Ihrer Anfrage unterstützt. Es empfiehlt sich, den restriktivsten Bereich auszuwählen, der für die Funktion Ihrer App erforderlich ist.
  • Rufen Sie die Methode GetSpaceEvent() auf und übergeben Sie die name des abzurufenden Space-Ereignisses.

Im folgenden Beispiel wird ein Bereichsereignis abgerufen:

Node.js

In diesem Node.js-Codebeispiel wird die Chat RPC API verwendet.

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

// Replace SCOPE_NAME here with an authorization scope based on the event type
const USER_AUTH_OAUTH_SCOPES = ['SCOPE_NAME'];

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

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and SPACE_EVENT_NAME here
    name: 'spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME',
  };

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

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

await main();

Wenn Sie dieses Beispiel ausführen möchten, ersetzen Sie Folgendes:

  • SCOPE_NAME: Ein Autorisierungsbereich basierend auf dem Ereignistyp. Wenn Sie beispielsweise ein Projektbereichsereignis zu einer neuen Mitgliedschaft erhalten, verwenden Sie den Bereich chat.memberships.readonly im Format https://www.googleapis.com/auth/chat.memberships.readonly. Sie können den Ereignistyp über die Methode ListSpaceEvents() abrufen. Informationen zur Verwendung dieser Methode
  • SPACE_NAME: Die ID aus dem name des Bereichs. Sie können die ID abrufen, indem Sie die Methode ListSpaces() aufrufen oder die URL des Bereichs verwenden.
  • SPACE_EVENT_NAME: die ID aus dem name des Space-Ereignisses. Sie können die ID mit der Methode ListSpaceEvents() abrufen. Informationen zur Verwendung dieser Methode

Die Chat API gibt eine Instanz von SpaceEvent mit Details zum Ereignis zurück.

Details zu einem Gruppenbereichsereignis abrufen (Chat-App-Authentifizierung)

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

Wenn Sie mit der Chat REST API Details zu einem Bereichsereignis aus einem Bereich mit App-Authentifizierung abrufen möchten, übergeben Sie Folgendes in Ihrer Anfrage:

  • Geben Sie mindestens einen Autorisierungsbereich an, um jeden Ereignistyp in Ihrer Anfrage zu unterstützen. Es empfiehlt sich, den restriktivsten Bereich auszuwählen, der die Funktion Ihrer App weiterhin ermöglicht. Weitere Informationen zur Auswahl eines Bereichs finden Sie unter Authentifizierung und Autorisierung.
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.spaces
  • Rufen Sie die Methode get für die Ressource spaceEvents auf.
  • Übergeben Sie die name des Gruppenbereichs, aus dem Termindetails abgerufen werden sollen.

API-Schlüssel erstellen

Wenn Sie eine Developer Preview API-Methode aufrufen möchten, müssen Sie eine nicht öffentliche Developer Preview-Version des API-Erkennungsdokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.

So erstellen Sie den API-Schlüssel: Öffnen Sie das Google Cloud-Projekt Ihrer App und gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console das Menü  > APIs und Dienste > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Der neue API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ , um den API-Schlüssel zu kopieren und im Code Ihrer App zu verwenden. Der API-Schlüssel ist auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts zu finden.
    • Damit eine nicht autorisierte Verwendung verhindert wird, sollten Sie einschränken, wo und für welche APIs der API-Schlüssel verwendet werden kann. Weitere Informationen finden Sie unter API-Einschränkungen hinzufügen.

Skript schreiben, das die Chat API aufruft

So rufen Sie Details zu einem Space-Termin mit App-Authentifizierung und der Chat REST API ab:

Python

In diesem Python-Codebeispiel wird die Chat REST API verwendet.

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # Set authorization scopes based on the
    # event type. For example, if you are getting a space event
    # about a new membership, use the `chat.app.memberships.readonly` scope.
    #
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships",
              "https://www.googleapis.com/auth/chat.app.messages.readonly",
              "https://www.googleapis.com/auth/chat.app.spaces"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then lists space events from a specified 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().spaceEvents().get(
    
            # The space to get event details from.
            #
            # Replace SPACE_NAME with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME',
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        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.
    • SPACE_NAME: Ein Bereichsname, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Bereichs abrufen können.
    • SPACE_EVENT_NAME: die ID aus dem name des Space-Ereignisses. Sie können die ID mit der Methode ListSpaceEvents() abrufen. Informationen zur Verwendung dieser Methode
  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_spaceevents_get_app.py

Die Chat API gibt eine paginierte Liste von Bereichsereignissen zu neuen Mitgliedschaften und Nachrichten zurück.