In der Google My Business API werden Benachrichtigungen im Cloud Pub/Sub-Dienst veröffentlicht. Nachdem Sie Cloud Pub/Sub eingerichtet und ein Thema erstellt haben, können Sie die folgenden Vorgänge für Benachrichtigungen ausführen:
- Benachrichtigungseinstellungen abrufen
- Benachrichtigungseinstellungen aktualisieren
- Benachrichtigungseinstellungen löschen
Unter anderem werden neue oder aktualisierte Rezensionen, Fragen und Antworten, Medienuploads, Google-Updates zur Überprüfung und Änderungen des Standortstatus unterstützt. Das Objekt NotificationType listet die verfügbaren Benachrichtigungstypen auf und beschreibt sie.
Hinweis
Bevor Sie die Google My Business API verwenden können, müssen Sie Ihre Anwendung registrieren und OAuth 2.0-Anmeldedaten abrufen. Weitere Informationen zu den ersten Schritten mit der API finden Sie unter Grundlegende Einrichtung.
Cloud Pub/Sub einrichten
So richten Sie Google My Business API-Benachrichtigungen mit Cloud Pub/Sub ein:
- Folgen Sie der Cloud Pub/Sub-Anleitung, um Ihre Anwendung einzurichten.
- Erstellen Sie ein Thema in Ihrem Cloud Pub/Sub-Projekt und notieren Sie sich den Namen des Themas.
- Gewähren Sie mybusiness-api-pubsub@system.gserviceaccount.com mindestens
pubsub.topics.publish
-Berechtigungen. - Folgen Sie der Anleitung unter Abonnentenübersicht, um Push- oder Pull-Benachrichtigungen einzurichten.
- Rufen Sie zum Empfangen von Benachrichtigungen den Endpunkt
accounts.updateNotifications
in der Google My Business API auf. Verwenden Sie dabei den Namen des Themas, das Sie in Cloud Pub/Sub erstellt haben, um Ihr GMB-Konto mit dem Thema zu verknüpfen. - Optional: Wiederholen Sie Schritt 5 für jedes Google My Business-Konto, für das Sie Benachrichtigungen erhalten möchten.
Benachrichtigungseinstellungen abrufen
Der Endpunkt accounts.getNotifications
gibt die aktuellen Cloud Pub/Sub-Benachrichtigungseinstellungen für ein Konto zurück. In der folgenden Tabelle sehen Sie, wie er in HTTP und Java aufgerufen wird:
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Die folgende Funktion verwendet Mybusiness.Accounts.getNotifications
, um die Daten für die Kontobenachrichtigung zurückzugeben.
/** * Demonstrates getting notification data. * @param name The name (account/`account_id`/notifications) for the notification to retrieve. * @return response The notification data. */ private static GetNotifications getNotifications(String name) throws Exception { Mybusiness.Accounts.getNotifications sub = mybusiness.accounts().getNotifications(name); GetNotifications response = sub.execute(); return response; }
Benachrichtigungseinstellungen aktualisieren
Der Endpunkt accounts.updateNotifications
aktualisiert die Cloud Pub/Sub-Benachrichtigungseinstellungen, die einem Konto zugewiesen sind. In der folgenden Tabelle sehen Sie, wie er in HTTP und Java aufgerufen wird:
PUT https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications { name: your/pubsub/topicName }
Die folgende Funktion verwendet Mybusiness.Accounts.Locations.Reviews.Get
.
/** * Demonstrates getting a review by name. * @param reviewName The name (resource path) of the review to retrieve. * @return Account The requested review. */ private static Review getReview(String reviewName) throws Exception { Mybusiness.Accounts.Locations.Reviews.Get review = mybusiness.accounts().locations().reviews().get(reviewName); Review response = review.execute(); return response; }
Benachrichtigungseinstellungen löschen
Der Endpunkt accounts.deleteNotifications
löscht die Cloud Pub/Sub-Benachrichtigungseinstellungen aus einem Konto.
In der folgenden Tabelle sehen Sie, wie er in HTTP und Java aufgerufen wird:
DELETE https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Die folgende Funktion verwendet Mybusiness.Accounts.DeleteNotifications
.
/** * Demonstrates deleting the Google Cloud Pub/Sub settings. * @param notificationName The name (account/`account_id`/notifications) for the notification settings to delete. * @return The deleted notification setting. */ private static DeleteNotifications deleteNotifications(String notificationName) throws Exception { Mybusiness.Accounts.DeleteNotifications toDelete = mybusiness.accounts().deleteNotifications(notificationName); DeleteNotification response = toDelete.execute(); return response; }