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 :
- Répertorier tous les avis
- Obtenir un avis spécifique
- Obtenir des avis concernant différents établissements
- Répondre à un avis
- Supprimer une réponse à un avis
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 :
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews
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 :
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}
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 :
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 :
PUT https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply { comment: "Thank you for visiting our business!" }
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 :
DELETE https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
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; }