php 如何使用Google API在我的网站上显示Google Locations评论?

t9eec4r0  于 4个月前  发布在  PHP
关注(0)|答案(3)|浏览(62)

我知道这个问题很常见,不过,我找不到任何直接的答案。所有的答案都提到了实现这一点需要什么,但根本没有最终的解决方案。两个de G文档都没有直截了当地说。我试图使用谷歌我的业务API来获得评论和评级的一家公司,一组位置完全由谷歌验证。(https://developers.google.com/my-business/content/review-data)我现在唯一的目标是列出所有的Google评论,并将它们显示在公司的网站上。通过Ajax/PHP或类似的方式进行API调用(正确的GET)。API响应Google评论列表(JSON格式)以HTML显示结果。

我在公司的网站上找不到任何PHP / JavaScript代码示例来开始实现这个。我对如何使用Google PHP客户端库有点困惑。太多的方法了,但在我的测试中没有一个有效(https://github.com/googleapis/google-api-php-client
如果是这样的话,这种方法会不会总是提示用户选择登录哪个帐户?这不是我想要的行为。我只想获得所有的评论并将其显示在网站上,这不应该要求用户进行登录。
如果您能分享代码和过程,将会很有帮助。
谢谢你的帮助,祝你愉快

0dxa2lsx

0dxa2lsx1#

谷歌让你拉5,它已经这样很长很长一段时间。
我写了一个API,与谷歌接口做你需要的,所有你需要的是地方ID,你可以得到历史评论,一旦你获得历史评论,你可以使用本地API实时,不要锤击API,否则它会上限你:)
希望它能有所帮助,请参阅下面的演示URL(只需将位置ID与您需要的位置ID交换,并将您消费的内容保存到reviews.json,您就可以获得历史评级)。
https://api.reviewsmaker.com/gmb/?placeid=ChIJCezbnsal2YgRySx0GXk5hEo


的数据

1szpjjfi

1szpjjfi2#

通常使用API涉及,
1.从URL获取数据
1.循环/使用数据做(输出?)某事

PHP实现示例

下面是我以前的一个项目中的PHP示例实现。https://gist.github.com/shramee/fc115a909fd1f8726a589d1b0b351e3e

取评论

我们使用cURL来获取评论。

/**
 * Get google reviews
 * @return array Google reviews data
 */
function get_google_reviews(){

    // URL to fetch
    $google_api = 'https://maps.googleapis.com/maps/api/place/details/json?placeid=<your_place_id>&sensor=true&key=<key>';

    // Fetch reviews with cURL
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $google_api);

    $response = curl_exec($ch);
    curl_close($ch);

    // JSON decode the text to associative array
    return json_decode($response, 'assoc');
}

字符串

循环浏览评论

然后,我们循环浏览评论并输出一些HTML,

// See if we got some reviews
if ($g_response && $g_response['result'] && $g_response['result']['reviews']) {
    // Loop through the reviews
    foreach ($g_response['result']['reviews'] as $review) {
        // Output HTML for reviews
        ?>
        <dl>
            <dt> date </dt>
            <dd><?php echo $review['time'] ?></dd>
            <dt> rating </dt>
            <dd><?php echo $review['rating'] ?></dd>
            <dt> name </dt>
            <dd><?php echo $review['author_name'] ?></dd>
            <dt> content </dt>
            <dd><?php echo $review['text'] ?></dd>
        </dl>
        <?php
    }
}


对于JavaScript,你可以使用类似fetch/axios的东西来获取数据,然后循环遍历这些项来创建一些React元素或执行一些DOM操作。

7gcisfzg

7gcisfzg3#

希望现在回答还不算太晚。
一种方法是将Auth2.0 playground生成的clientId、clientSecret和refreshToken存储在服务器上。当accessToken(POST https://www.googleapis.com/oauth2/v4/token)过期时,定期刷新它。
当然,谷歌不允许使用专线小巴服务帐户,所以这似乎是唯一的方法.
P.S.您需要解决您的Auth creds无效的情况。(理想情况下不应该发生)

相关问题