Cómo trabajar con datos de opiniones

En este instructivo, se muestra 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:

Antes de comenzar

Antes de utilizar la API de Google My Business, debes registrar tu aplicación y obtener las credenciales de OAuth 2.0. Si deseas obtener detalles para comenzar a usar 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 la API de accounts.locations.reviews.list para mostrar todas las opiniones asociadas con una ubicación.

Para mostrar todas las opiniones asociadas con una ubicación, usa lo siguiente:

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

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;
}

Obtén una opinión específica

Devuelve una opinión específica por su nombre. Usa la API de accounts.locations.reviews.get para mostrar una opinión específica asociada con una ubicación.

Para mostrar una opinión específica, usa lo siguiente:

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

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 revisión. Usa los siguientes métodos para mostrar datos adicionales sobre las opiniones:

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

Recibe opiniones de varias ubicaciones

Recibe opiniones de varias ubicaciones. Usa la API de accounts.locations.batchGetReviews para mostrar opiniones de varias ubicaciones en una sola solicitud.

Para devolver opiniones de varias ubicaciones, usa lo siguiente:

HTTP

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 ninguna. Usa la API de 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:

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

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

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 de una opinión

Cómo borrar una respuesta a una opinión específica Usa la API de accounts.locations.reviews.deleteReply para 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:

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

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;
}