Z tego samouczka dowiesz się, jak wyświetlać, zwracać, odpowiadać na opinie i je usuwać. Google My Business API umożliwia pracę z danymi opinii w celu wykonywania tych operacji:
- wyświetlanie wszystkich opinii.
- pobieranie konkretnej opinii.
- pobieranie opinii z wielu lokalizacji.
- odpowiadanie na opinie.
- usuwanie odpowiedzi na opinie.
Zanim zaczniesz
Zanim zaczniesz korzystać z Google My Business API, musisz zarejestrować aplikację i uzyskać dane logowania OAuth 2.0. Więcej informacji o tym, jak zacząć korzystać z Google My Business API, znajdziesz w artykule Podstawowa konfiguracja.
Wyświetlanie wszystkich opinii
Wyświetl wszystkie opinie o lokalizacji, aby zbiorczo je sprawdzić. Aby zwrócić wszystkie opinie powiązane z lokalizacją, użyj interfejsu accounts.locations.reviews.list API.
Aby zwrócić wszystkie opinie powiązane z lokalizacją, użyj tego:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews
Ta funkcja używa 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; }
Pobieranie konkretnej opinii
Zwróć konkretną opinię według nazwy. Aby zwrócić konkretną opinię powiązaną z lokalizacją, użyj interfejsu accounts.locations.reviews.get API.
Aby zwrócić konkretną opinię, użyj tego:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}
Ta funkcja używa 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; }
Dodatkowe dane
Biblioteka klienta Java umożliwia dostęp do dodatkowych danych pól w przypadku instancji opinii. Aby zwrócić dodatkowe dane o opiniach, użyj tych metod:
getReviewId()getComment()getReviewer()getStarRating()getCreateTime()getReviewReply()
Pobieranie opinii z wielu lokalizacji
Pobierz opinie z wielu lokalizacji. Aby zwrócić opinie z wielu lokalizacji w jednym żądaniu, użyj interfejsu accounts.locations.batchGetReviews API.
Aby zwrócić opinie z wielu lokalizacji, użyj tego:
POST
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations:batchGetReviews
{
"locationNames": [
string
],
"pageSize": number,
"pageToken": string,
"orderBy": string,
"ignoreRatingOnlyReviews": boolean
}
Odpowiadanie na opinie
Odpowiedz na konkretną opinię lub utwórz nową odpowiedź, jeśli nie istnieje. Aby odpowiedzieć na konkretną opinię powiązaną z lokalizacją, użyj interfejsu accounts.locations.reviews.updateReply API.
Aby odpowiedzieć na konkretną opinię, użyj tego:
PUT
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
{
"comment": "Thank you for visiting our business!"
}
Ta funkcja używa 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; }
Usuwanie odpowiedzi na opinie
Usuń odpowiedź na konkretną opinię. Aby usunąć odpowiedź na konkretną opinię powiązaną z lokalizacją, użyj interfejsu accounts.locations.reviews.deleteReply API.
Aby usunąć konkretną odpowiedź na opinię, użyj tego:
DELETE
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply
Ta funkcja używa 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; }