Utiliser les données sur les avis

Ce tutoriel vous explique comment répertorier, renvoyer, répondre et supprimer un avis. L'API Google My Business vous permet d'utiliser les données sur les avis pour effectuer les actions suivantes :

Avant de commencer

Avant d'utiliser l'API Google My Business, vous devez enregistrer votre application et obtenir des identifiants OAuth 2.0. Pour en savoir plus sur la manière de vous lancer avec l'API Google My Business, consultez la section Configuration de base.

Répertorier tous les avis

Vous pouvez répertorier tous les avis associés à un établissement afin d'en effectuer un audit groupé. Utilisez l'API accounts.locations.reviews.list pour renvoyer tous les avis associés à un établissement.

Pour renvoyer tous les avis associés à un établissement, utilisez le code suivant :

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews
Java

La fonction suivante utilise Mybusiness.Accounts.Locations.Reviews.List.

/**
 * Returns a list of reviews.
 * @param locationName Name of the location to retrieve reviews for.
 * @return List<Reviews> A list of reviews.
 * @throws Exception
 */
public static List<Review> listReviews(String locationName) throws Exception {
  Mybusiness.Accounts.Locations.Reviews.List reviewsList =
    mybusiness.accounts().locations().reviews().list(locationName);
  ListReviewsResponse response = accountsList.execute();
  List<Reviews> reviews = response.getReviews();

  for (Reviews review : reviews) {
    System.out.println(review.toPrettyString());
  }
  return reviews;
}

Obtenir un avis spécifique

Vous pouvez afficher un avis spécifique en fonction de son nom. Utilisez l'API accounts.locations.reviews.get pour renvoyer un avis spécifique associé à un établissement.

Pour renvoyer un avis spécifique, utilisez le code suivant :

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}
Java

La fonction suivante utilise 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;
}

Données supplémentaires

La bibliothèque cliente Java vous donne accès à d'autres données de champs pour les différentes instances d'avis. Utilisez les méthodes suivantes pour renvoyer des données supplémentaires relatives aux avis :

  • getReviewId()
  • getComment()
  • getReviewer()
  • getStarRating()
  • getCreateTime()
  • getReviewReply()

Obtenir des avis concernant différents établissements

Vous pouvez obtenir des avis concernant différents établissements. Utilisez l'API accounts.locations.batchGetReviews pour renvoyer des avis concernant différents établissements via une seule requête.

Pour renvoyer des avis concernant différents établissements, procédez comme suit :

HTTP

POST
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations:batchGetReviews

{
  "locationNames": [
    string
  ],
  "pageSize": number,
  "pageToken": string,
  "orderBy": string,
  "ignoreRatingOnlyReviews": boolean
}

Répondre à un avis

Répondez à un avis spécifique ou créez une réponse si elle n'existe pas. Utilisez l'API accounts.locations.reviews.updateReply pour répondre à un avis spécifique associé à un établissement.

Pour répondre à un avis spécifique, utilisez le code suivant :

HTTP
PUT
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply

{
  comment: "Thank you for visiting our business!"
}
Java

La fonction suivante utilise Mybusiness.accounts.locations.reviews.reply.


/*
 * Updates the reply for a location review.
 * If a review does not exist, creates a new one.
 * @param reviewName Name of the review being responded to.
 * @param comment A string containing the review response body.
 * @throws IOException
 */
private static Reply reply(String reviewName, String comment) throws IOException {

  MyBusiness.Accounts.Locations.Reviews.Reply reply =
    mybusiness().accounts().locations().reviews().reply(reviewName, comment);

  Reply response  = reviewReply.execute();

  return response;
}

Supprimer une réponse à un avis

Vous pouvez supprimer une réponse à un avis spécifique. Utilisez l'API accounts.locations.reviews.deleteReply pour supprimer une réponse à un avis spécifique associé à un établissement.

Pour supprimer une réponse spécifique à un avis, utilisez le code suivant :

HTTP
DELETE
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
Java

La fonction suivante utilise Mybusiness.Accounts.Locations.Reviews.DeleteReply.

/**
 * Demonstrates deleting a review reply by name.
 * @param reviewName The name (resource path) of the review reply to delete.
 * @return Account The requested review.
 */
private static DeleteReply deleteReply(String reviewName) throws Exception {
  Mybusiness.Accounts.Locations.Reviews.DeleteReply toDelete =
      mybusiness.accounts().locations().reviews().deleteReply(reviewName);
  DeleteReply response = toDelete.execute();

  return response;
}