En este instructivo, se explica cómo enumerar, devolver, responder y borrar una opinión. La API de Google My Business te permite trabajar con datos de opiniones para realizar las siguientes operaciones:
- Enumera todas las opiniones.
- Obtén una opinión específica.
- Obtén opiniones de varias ubicaciones.
- Responde a una opinión.
- Borra la respuesta a una opinión.
Antes de comenzar
Antes de usar la API de Google My Business, debes registrar tu aplicación y obtener credenciales de OAuth 2.0. Para obtener detalles sobre cómo comenzar a usar la API de Google My Business, consulta Configuración básica.
Enumera todas las opiniones
Enumera todas las opiniones de una ubicación para auditar las opiniones de forma masiva. Usa la accounts.locations.reviews.list para devolver 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 = reviewsList.execute(); List<Reviews> reviews = response.getReviews(); for (Reviews review : reviews) { System.out.println(review.toPrettyString()); } return reviews; }
Obtén una opinión específica
Devuelve una opinión específica por su nombre. Usa la accounts.locations.reviews.get para devolver 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 campos adicionales para instancias de opiniones. Usa los siguientes métodos para devolver datos adicionales sobre las opiniones:
getReviewId()getComment()getReviewer()getStarRating()getCreateTime()getReviewReply()
Obtén opiniones de varias ubicaciones
Obtén opiniones de varias ubicaciones. Usa la accounts.locations.batchGetReviews para 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
}
Responde a una opinión
Responde a una opinión específica o crea una respuesta nueva si no existe. Usa la accounts.locations.reviews.updateReply para responder a una opinión específica asociada con una ubicación.
Para responder a una opinión específica, usa 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 = reply.execute(); return response; }
Borra la respuesta a una opinión
Borra la respuesta a una opinión específica. Usa la accounts.locations.reviews.deleteReply para borrar la respuesta a una opinión específica asociada con una ubicación.
Para borrar una respuesta específica a 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; }