Làm việc với dữ liệu đánh giá

Hướng dẫn này chỉ cho bạn cách liệt kê, trả lại, trả lời và xoá một bài đánh giá. Chiến lược phát hành đĩa đơn API Google Doanh nghiệp của tôi cho phép bạn làm việc với dữ liệu đánh giá để thực hiện các thao tác sau:

Trước khi bắt đầu

Trước khi sử dụng API Google Doanh nghiệp của tôi, bạn cần đăng ký ứng dụng của bạn và lấy thông tin đăng nhập OAuth 2.0. Để biết thông tin chi tiết về cách bắt đầu với API Google Doanh nghiệp của tôi, hãy xem Thiết lập cơ bản.

Liệt kê tất cả bài đánh giá

Liệt kê tất cả bài đánh giá về một địa điểm để kiểm tra hàng loạt bài đánh giá. Sử dụng accounts.locations.reviews.list API để trả về tất cả bài đánh giá liên quan đến một vị trí.

Để trả lại tất cả các bài đánh giá liên quan đến một vị trí, hãy sử dụng các hàm sau:

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

Hàm sau đây sử dụng 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;
}

Nhận bài đánh giá cụ thể

Trả về một bài đánh giá cụ thể theo tên. Sử dụng accounts.locations.reviews.get API để trả về một bài đánh giá cụ thể liên quan đến một vị trí.

Để trả về một bài đánh giá cụ thể, hãy sử dụng các hàm sau:

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

Hàm sau đây sử dụng 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;
}

Dữ liệu bổ sung

Thư viện ứng dụng Java cấp cho bạn quyền truy cập vào dữ liệu trường bổ sung để xem xét thực thể. Hãy sử dụng các phương thức sau để trả về dữ liệu bổ sung về bài đánh giá:

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

Nhận bài đánh giá từ nhiều địa điểm

Nhận bài đánh giá từ nhiều địa điểm. Sử dụng accounts.locations.batchGetReviews API để trả về bài đánh giá từ nhiều vị trí trong một yêu cầu duy nhất.

Để trả lại bài đánh giá từ nhiều vị trí, hãy sử dụng các hàm sau:

HTTP

POST
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations:batchGetReviews

{
  "locationNames": [
    string
  ],
  "pageSize": number,
  "pageToken": string,
  "orderBy": string,
  "ignoreRatingOnlyReviews": boolean
}

Trả lời bài đánh giá

Trả lời một bài đánh giá cụ thể hoặc tạo câu trả lời mới nếu chưa có. Sử dụng accounts.locations.reviews.updateReply API để trả lời một bài đánh giá cụ thể về một vị trí.

Để trả lời một bài đánh giá cụ thể, hãy sử dụng các hàm sau:

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

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

Hàm sau đây sử dụng 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;
}

Xoá câu trả lời cho bài đánh giá

Xoá câu trả lời cho một bài đánh giá cụ thể. Sử dụng accounts.locations.reviews.deleteReply API để xoá câu trả lời cho một bài đánh giá cụ thể liên quan đến một vị trí.

Để xoá một câu trả lời cụ thể cho một bài đánh giá, hãy sử dụng các thao tác sau:

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

Hàm sau đây sử dụng 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;
}