En este instructivo, se muestra cómo enumerar, devolver, responder y borrar una opinión. El La API de Google My Business te permite trabajar con datos de opiniones para lo siguiente: realiza las siguientes operaciones:
- Enumera todas las opiniones.
- Obtén una opinión específica.
- Obtén opiniones de varias ubicaciones.
- Responde una opinión.
- Borra una respuesta a una opinión.
Antes de comenzar
Antes de utilizar la API de Google My Business, debes registrar tu y obtener credenciales de OAuth 2.0. Para obtener detalles sobre cómo comenzar con la API de Google My Business, consulta Configuración básica:
Enumerar todas las opiniones
Enumera todas las opiniones de una ubicación para auditarlas de forma masiva. Usa el accounts.locations.reviews.list para mostrar todas las opiniones asociadas con una ubicación.
Para devolver todas las opiniones asociadas con una ubicación, usa lo siguiente:
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews
La siguiente función usa 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; }
Obtener una opinión específica
Muestra una opinión específica por nombre. Usa el accounts.locations.reviews.get para mostrar una opinión específica asociada con una ubicación.
Para devolver una opinión específica, usa lo siguiente:
GET https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}
La siguiente función usa 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; }
Datos adicionales
La biblioteca cliente de Java te brinda acceso a datos de campo adicionales para su revisión individuales. Usa los siguientes métodos para mostrar datos adicionales sobre las opiniones:
getReviewId()
getComment()
getReviewer()
getStarRating()
getCreateTime()
getReviewReply()
Obtener opiniones de varias ubicaciones
Obtener opiniones de varias ubicaciones Usa el accounts.locations.batchGetReviews La API permite devolver opiniones de varias ubicaciones en una sola solicitud.
Para devolver opiniones de varias ubicaciones, usa lo siguiente:
POST https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations:batchGetReviews { "locationNames": [ string ], "pageSize": number, "pageToken": string, "orderBy": string, "ignoreRatingOnlyReviews": boolean }
Cómo responder a una opinión
Responde a una opinión específica o crea una respuesta nueva si no existe una. Usa el accounts.locations.reviews.updateReply API para responder a una opinión específica asociada con una ubicación.
Para responder una opinión específica, utiliza lo siguiente:
PUT https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply { comment: "Thank you for visiting our business!" }
La siguiente función usa 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; }
Cómo borrar una respuesta a una opinión
Borra una respuesta de una opinión específica. Usa el accounts.locations.reviews.deleteReply La API permite borrar una respuesta a una opinión específica asociada con una ubicación.
Para borrar una respuesta específica de una opinión, usa lo siguiente:
DELETE https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
La siguiente función usa 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; }