Cómo trabajar con datos de opiniones

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:

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:

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

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:

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 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:

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 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:

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 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:

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