为什么只有 5 条最新评论来自 Google 我的商家评论?

问题描述 投票:0回答:0

我想在网站上显示我的企业的所有评论(谷歌我的企业评论)。但我只能得到最新的 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>```
javascript php codeigniter google-api
© www.soinside.com 2019 - 2024. All rights reserved.