Questo tutorial ti mostra come elencare, restituire, rispondere ed eliminare una recensione. L'API Google My Business consente di utilizzare i dati delle recensioni per eseguire le seguenti operazioni:
- Elenca tutte le recensioni.
- Ricevere una recensione specifica.
- Ricevi recensioni da più località.
- Rispondere a una recensione.
- Eliminare una risposta a una recensione.
Prima di iniziare
Prima di utilizzare l'API Google My Business, devi registrare la tua applicazione e ottenere le credenziali OAuth 2.0. Per maggiori dettagli su come iniziare a utilizzare l'API Google My Business, consulta Configurazione di base.
Elenca tutte le recensioni
Elenca tutte le recensioni di una sede per controllare le revisioni collettivamente. Utilizza l'API accounts.locations.reviews.list per restituire tutte le recensioni associate a una sede.
Per restituire tutte le recensioni associate a un luogo, utilizza il seguente codice:
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews
La seguente funzione utilizza 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; }
Ricevere una recensione specifica
Restituisci una recensione specifica in base al nome. Utilizza l'API accounts.locations.reviews.get per restituire una recensione specifica associata a una sede.
Per restituire una recensione specifica, utilizza il seguente codice:
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}
La seguente funzione utilizza 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; }
Dati aggiuntivi
La libreria client Java consente di accedere a dati dei campi aggiuntivi per le istanze di revisione. Per restituire dati aggiuntivi sulle recensioni, utilizza i seguenti metodi:
getReviewId()
getComment()
getReviewer()
getStarRating()
getCreateTime()
getReviewReply()
Ricevi recensioni da più località
Ricevi recensioni da più luoghi. Utilizza l'API accounts.locations.batchGetReviews per restituire recensioni da più località in un'unica richiesta.
Per restituire le recensioni da più luoghi, utilizza quanto segue:
POST https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations:batchGetReviews { "locationNames": [ string ], "pageSize": number, "pageToken": string, "orderBy": string, "ignoreRatingOnlyReviews": boolean }
Rispondere a una recensione
Rispondi a una recensione specifica o creane una nuova se non ne esiste una. Utilizza l'API accounts.locations.reviews.updateReply per rispondere a una recensione specifica associata a una località.
Per rispondere a una recensione specifica, utilizza quanto segue:
PUT https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply { comment: "Thank you for visiting our business!" }
La seguente funzione utilizza 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; }
Eliminare una risposta a una recensione
Eliminare una risposta a una recensione specifica. Utilizza l'API accounts.locations.reviews.deleteReply per eliminare una risposta a una recensione specifica associata a una località.
Per eliminare una risposta specifica a una recensione, utilizza il seguente codice:
DELETE https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
La seguente funzione utilizza 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; }