如何仅通过Place ID使用JS、HTML、PHP获取Google Reviews
结论
仅通过Place ID,完全可以使用HTML+JavaScript+PHP的技术栈实现Google Reviews的获取,不需要依赖第三方商业插件。
实现原理
谷歌官方提供了Places API的Place Details接口,支持直接传入Place ID查询对应地点的公开评论、整体评分等数据。出于API密钥安全考虑,不建议直接在前端JavaScript中拼接API密钥请求谷歌接口(密钥泄露会被盗用产生额外费用),因此常规方案是用PHP做后端中转,前端仅请求你自己的PHP接口,由后端携带密钥请求谷歌接口再返回数据。
具体实现步骤
- 第一步:开通谷歌云服务,启用Places API,获取你的专属API密钥,同时在谷歌云后台配置密钥的调用权限,仅允许你的服务器IP调用该密钥,降低被盗用风险。
- 第二步:编写PHP中转接口,示例代码如下:
<?php // 请将下方参数替换为你自己的配置 $google_api_key = '你的Places API密钥'; $target_place_id = $_GET['place_id']; // 拼接谷歌接口请求地址 $request_url = "https://maps.googleapis.com/maps/api/place/details/json?place_id={$target_place_id}&fields=reviews,rating,user_ratings_total&key={$google_api_key}"; // 发起curl请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $request_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($ch); curl_close($ch); // 返回数据给前端 header('Access-Control-Allow-Origin: *'); // 按需配置允许跨域的域名,不用*更安全 header('Content-Type: application/json; charset=utf-8'); echo $response; ?>
- 第三步:编写前端HTML和JavaScript代码,请求自己的PHP接口获取评论后渲染到页面,示例代码如下:
<!-- 评论展示容器 --> <div class="google-reviews-wrap"> <h3>谷歌用户评论</h3> <div id="review-list"></div> </div> <script> // 替换为你要查询的Place ID和PHP接口地址 const PLACE_ID = '目标地点的Place ID'; const BACKEND_API = '你的PHP中转接口地址'; fetch(`${BACKEND_API}?place_id=${PLACE_ID}`) .then(res => res.json()) .then(result => { const listDom = document.getElementById('review-list'); // 接口返回成功且存在评论 if (result.status === 'OK' && result.result?.reviews) { result.result.reviews.forEach(item => { listDom.innerHTML += ` <div class="review-item"> <p>作者:${item.author_name} | 评分:${item.rating}星</p> <p>评论内容:${item.text}</p> <p>发布时间:${item.relative_time_description}</p> <hr> </div> ` }) } else { listDom.innerHTML = '<p>暂无评论数据</p>' } }) </script>
注意事项
- 谷歌Places API有免费调用额度,超出后会产生费用,上线前建议在谷歌云后台设置调用配额预警,避免产生意外账单
- 官方接口默认最多返回5条最新公开评论,如果需要获取更多历史评论,需要自行搭建数据库,每次调用接口时将新评论落地存储,累计后展示
- 如果仅做本地测试,你也可以直接在前端JS中拼接API密钥调用谷歌接口,但千万不要将这类代码部署到公网环境,极易导致密钥泄露
- 展示谷歌评论需要遵守官方的内容使用规范,不得修改评论原始内容,需保留评论的原始作者信息和来源标注
内容的提问来源于stack exchange,提问作者Yasai
相关产品推荐
相关产品推荐

