Google API 中的评论

Reviews in Google API

我正在使用以下代码查找 属性 的 Google 评论。我想做的是,我正在获取 属性 的评论,然后我会将其与 属性 的旧评论(在数据库中)进行比较。如果大于系统的 属性,则发送电子邮件。

此文件每小时 运行(作为 cron 文件),我在 Google API 中启用计费,因此最大限制为 1,50,000。

但由于某些原因 API 没有 return 准确的评论数。 例如:
我 运行 这个文件的 属性 有 4 条评论,但是 API returns 0 2 或 3 次然后一段时间后它 returns 4 条评论。

我不知道背后的原因。我还注意到我们可以在 google 搜索页面和 Google+ 中看到评论。同样,您可以在多个地方撰写评论,例如 Google+ 和 Google 地图。

为了查看评论,我使用 google 加上 url。那么有没有可能评论确实存在,但在另一个区域(比如 Google 搜索页面而不是 Google+)?

/* call api to get review count of Google */
$url = "https://maps.googleapis.com/maps/api/place/details/json?";
$params = array(
    "placeid" => $google_place_id,
    "key" => $google_api_key
);
$url .= http_build_query($params);
$resjson = file_get_contents($url);
$msg = $resjson;
Yii::log($msg,'info', 'application');
$resjson = json_decode($resjson,true);

$review_count = $resjson['result']['user_ratings_total']=='' ? 0 : $resjson['result']['user_ratings_total'];
/* If review is greater than 0 then check old review and if it's not same then send email */
if($review_count>0)
{
    if(sizeof($ressql)>0)
    {
        /* if google plus review is greater then system's google+ review then send email */
        if($review_count>trim($ressql[0]['google_plus_review']))
        {
            $this->send_googleplusmail($prop_id);
            $msg = "Google+ Review for property id (Mail Sent):".$prop_id." , New Review:$review_count, Old Review: ".$ressql[0]['google_plus_review'];
            Yii::log($msg,'info', 'application');
        }
    }
}

$sql=" INSERT INTO tbl_review_alert (propertyid, google_plus_review) VALUES ";
$sql.="('{$prop_id}','{$review_count}')";
$sql.=" ON DUPLICATE KEY UPDATE propertyid= {$prop_id},google_plus_review= {$review_count}";
$this->insert_review($sql);

我的问题是:
(1) 有没有可能评论确实存在,但在另一个区域(比如在 Google 搜索页面中但不在 Google+ 中)?如果是,那么在这种情况下我可以获取发布评论的 URL 吗?
(2) Google 中的所有评论是否同步?
(3) 或者我的代码有问题?

我想我已经找到问题所在了。

您看不到关于该地方的现有评论的原因是似乎有 2 个 google+ 个帐户是相同的;唯一的区别(至少我注意到的第一个)是邮政编码,MA 02116 与 MA 02111。

看看:

https://plus.google.com/101511264527346460079/about

https://plus.google.com/105917345931375838754/about

如您所见,第二个中的评论与您在 search page

并且通过将地址 "The Kensington, 665 Washington St, Boston, MA 02116, Stati Uniti" 插入 the finder,我获得了一个不同于另一个的 placeid。

现在使用

中的最后一个
$params = array(
    "placeid" => $google_place_id, // the new placeid here
    "key" => $google_api_key
);

然后我可以在地方 API json 回复中获得 5 条评论。