我想在网站上显示我的企业的所有评论(谷歌我的企业评论)。但我只能得到最新的 5 条评论。
我也想为此使用下一页令牌,但是这里没有收到下一页令牌,因此我添加的“加载更多”按钮也没有显示。
获取我的业务的所有评论。如果您有更好的建议请分享帮助我。
我想收到“Google 我的商家”上的所有评论。
这是我最新的php代码
$api_key = 'XXXXXXXX';
$place_id = 'XXXXX';
function fetchReviews($api_key, $place_id, $next_page_token = null) {
$url = 'https://maps.googleapis.com/maps/api/place/details/json?place_id=' . $place_id . '&fields=name,rating,reviews&key=' . $api_key;
if ($next_page_token) {
$url .= '&pagetoken=' . $next_page_token;
}
$response = file_get_contents($url);
$data = json_decode($response, true);
return $data['result']['reviews'];
}
$reviews = [];
$next_page_token = null;
do {
$new_reviews = fetchReviews($api_key, $place_id, $next_page_token);
$reviews = array_merge($reviews, $new_reviews);
$next_page_token = isset($data['next_page_token']) ? $data['next_page_token'] : null;
} while ($next_page_token);
$reviews_to_display = 5; // Number of reviews to display
$start_index = 0;
if (isset($_GET['start'])) {
$start_index = (int)$_GET['start'];
}
$displayed_reviews = array_slice($reviews, $start_index, $reviews_to_display);
foreach ($displayed_reviews as $review) {
$author_name = $review['author_name'];
$rating = $review['rating'];
$text = $review['text'];
echo "<div>";
echo "<h3>{$author_name}</h3>";
echo "<p>Rating: {$rating}</p>";
echo "<p>{$text}</p>";
echo "</div>";
}
if (count($reviews) > $start_index + $reviews_to_display) {
$next_start = $start_index + $reviews_to_display;
echo "<button onclick=\"loadMoreReviews({start: {$next_start}})\">Load More</button>";
}
<div id="reviewsContainer"></div>
这是我的脚本代码
function loadMoreReviews(option) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var reviewsContainer = document.getElementById('reviewsContainer');
reviewsContainer.innerHTML += xhr.responseText;
}
};
xhr.open('GET', 'total_reviews.php?start=' + option.start, true);
xhr.send();
}
</script>```