Achtung: Version 4.8 der API wurde veröffentlicht. Hier finden Sie das Änderungsprotokoll. Beiträge mit einem Bezug zur Coronakrise sind für Handelsketten weiterhin vorübergehend zulässig.

Benachrichtigungen in Echtzeit verwalten

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:

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:

  1. Folgen Sie der Cloud Pub/Sub-Anleitung, um Ihre Anwendung einzurichten.
  2. Erstellen Sie ein Thema in Ihrem Cloud Pub/Sub-Projekt und notieren Sie sich den Namen des Themas.
  3. Gewähren Sie mybusiness-api-pubsub@system.gserviceaccount.com mindestens pubsub.topics.publish-Berechtigungen.
  4. Folgen Sie der Anleitung unter Abonnentenübersicht, um Push- oder Pull-Benachrichtigungen einzurichten.
  5. 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.
  6. 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:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Java

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:

HTTP
PUT
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications

{
  name: your/pubsub/topicName
}
Java

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:

HTTP
DELETE
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Java

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