In diesem Leitfaden wird die Verwendung der findDirectMessage
-Methode auf Space
erläutert.
der Google Chat API, um Details zu einem Bereich für Direktnachrichten (DM) zu erhalten.
Die
Space
-Ressource
ist ein Ort, an dem Personen und Chat-Apps Nachrichten senden können,
Dateien freigeben und gemeinsam bearbeiten. 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.
Authentifizierung mit App-Authentifizierung kann eine Chat-App DNs empfangen, Die Chat-App hat in Google Chat Zugriff auf (z. B. Direktnachrichten, in denen es enthalten ist) Authentifizierung mit user authentication gibt DMs zurück, die vom auf die der authentifizierte Nutzer Zugriff hat.
Vorbereitung
Python
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat:
- Richten Sie Ihre Umgebung ein:
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud-Projekt erstellen
- Konfigurieren Sie den OAuth-Zustimmungsbildschirm.
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, und eine Beschreibung der Chat App.
- Installieren Sie die Python Google API-Clientbibliothek
- Anmeldedaten für den Zugriff basierend auf der Authentifizierung in der Google Chat API erstellen
Anfrage:
<ph type="x-smartling-placeholder">
- </ph>
- So authentifizieren Sie sich als Chat-Nutzer:
OAuth-Client-ID erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
client_secrets.json
in Ihr lokales Verzeichnis. - So authentifizieren Sie sich als Chat-App:
Dienstkonto erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
credentials.json
- So authentifizieren Sie sich als Chat-Nutzer:
OAuth-Client-ID erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
- <ph type="x-smartling-placeholder"></ph> Wählen Sie einen Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als Chat-App.
Node.js
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat:
- Richten Sie Ihre Umgebung ein:
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud-Projekt erstellen
- Konfigurieren Sie den OAuth-Zustimmungsbildschirm.
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, und eine Beschreibung der Chat App.
- Installieren Sie die Node.js Google API-Clientbibliothek
- Anmeldedaten für den Zugriff basierend auf der Authentifizierung in der Google Chat API erstellen
Anfrage:
<ph type="x-smartling-placeholder">
- </ph>
- So authentifizieren Sie sich als Chat-Nutzer:
OAuth-Client-ID erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
client_secrets.json
in Ihr lokales Verzeichnis. - So authentifizieren Sie sich als Chat-App:
Dienstkonto erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
credentials.json
- So authentifizieren Sie sich als Chat-Nutzer:
OAuth-Client-ID erstellen
Anmeldedaten und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
- <ph type="x-smartling-placeholder"></ph> Wählen Sie einen Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als Chat-App.
Direktnachrichten suchen
Um eine Direktnachricht in Google Chat zu finden, geben Sie Folgendes ein Ihre Anfrage:
- Geben Sie für die App-Authentifizierung die
chat.bot
. Mit Nutzerauthentifizierung geben Sie den Autorisierungsbereichchat.spaces.readonly
oderchat.spaces
an. - Rufen Sie die Methode
findDirectMessage
-Methode für die RessourceUser
und übergeben denname
des anderen Nutzers in der DN zurück. Mit Nutzerauthentifizierung Diese Methode gibt eine DM zwischen dem aufrufenden Nutzer und dem angegebenen Nutzer zurück. Mit App-Authentifizierung, diese Methode gibt eine DM zwischen der aufrufenden App und dem angegebenen Nutzer zurück. - Wenn Sie einen Nutzer als Mitglied des Gruppenbereichs hinzufügen möchten, geben Sie
users/{user}
an, wobei{user}
ist entweder der{person_id}
für denperson
aus der People API oder die ID einesuser
in der Directory API. Wenn beispielsweise die People API-PersonresourceName
people/123456789
ist, können Sie den Nutzer dem Gruppenbereich hinzufügen, indem Sie einen Mitgliedschaft beiusers/123456789
alsmember.name
.
Direktnachrichten mit Nutzerauthentifizierung suchen
So suchen Sie nach einer Direktnachricht mit Nutzerauthentifizierung:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_space_find_dm_user.py
. Fügen Sie den folgenden Code in
chat_space_find_dm_user.py
ein: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.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then returns details about a specified DM. ''' # 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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() # Prints details about the direct message. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code
USER
durchname
einesUser
in Google Chat.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_space_find_dm_user.py
Node.js
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
find-direct-message-space.js
Fügen Sie den folgenden Code in
find-direct-message-space.js
ein:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Ersetzen Sie im Code
USER
durchname
einesUser
in Google Chat.Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node find-direct-message-space.js
Die Chat API gibt eine Instanz von
Space
in der die angegebene DM
begonnen wird.
Direktnachrichten mit App-Authentifizierung finden
So suchen Sie nach einer Direktnachricht mit App-Authentifizierung:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_space_find_dm_app.py
. Fügen Sie den folgenden Code in
chat_space_find_dm_app.py
ein:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() print(result)
Ersetzen Sie im Code
USER
durchname
einesUser
in Google Chat.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_space_find_dm_app.py
Node.js
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
app-find-direct-message-space.js
Fügen Sie den folgenden Code in
app-find-direct-message-space.js
ein:const chat = require('@googleapis/chat'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Ersetzen Sie im Code
USER
durchname
einesUser
in Google Chat.Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
node app-find-direct-message-space.js
Die Chat API gibt eine Instanz von
Space
, die Details zur angegebenen DM enthalten.
Weitere Informationen
- Erstellen Sie einen Gruppenbereich.
- Richten Sie einen Gruppenbereich ein.
- Weitere Informationen zu Gruppenbereichen
- Gruppenbereiche auflisten:
- Gruppenbereiche aktualisieren
- Gruppenbereiche löschen