में समीक्षा मैं संपत्ति के लिए Google समीक्षा खोजने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं। मैं जो करने की कोशिश कर रहा हूं वह है, मैं संपत्ति के लिए समीक्षा ला रहा हूं, फिर मैं उस संपत्ति की पुरानी समीक्षा (जो डीबी में है) के साथ इसकी तुलना करेगा। यदि यह सिस्टम की संपत्ति से अधिक है, तो यह ईमेल भेजता है।Google एपीआई
यह फ़ाइल हर घंटे (क्रॉन फ़ाइल के रूप में) के लिए चलती है और मैं Google API में बिलिंग सक्षम करता हूं, इसलिए अधिकतम सीमा 1,50,000 है।
लेकिन किसी कारण से एपीआई समीक्षाओं की सटीक गणना वापस नहीं करता है। उदाहरण के लिए:
मैं इस फ़ाइल को एक संपत्ति के लिए चलाता हूं जिसमें 4 समीक्षा होती है, लेकिन एपीआई 2 या 3 बार के लिए 0 देता है तो कुछ समय बाद यह 4 समीक्षा देता है।
मुझे इसके पीछे कारण पता नहीं है। मैंने यह भी देखा कि हम Google खोज पृष्ठ और Google+ में समीक्षा देख सकते हैं। वही आप Google+ और Google मानचित्र में कई स्थानों पर समीक्षा लिख सकते हैं।
और समीक्षाओं की जांच करने के लिए, मैं Google प्लस यूआरएल का उपयोग कर रहा हूं। तो क्या यह संभव है कि समीक्षा मौजूद है, लेकिन किसी अन्य क्षेत्र में (जैसे 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+ में नहीं) की तरह? यदि हां, तो इस मामले में मैं यूआरएल प्राप्त कर सकता हूं जहां समीक्षा पोस्ट की जाती है?
(2) क्या सभी समीक्षाएं Google में सिंक हैं?
(3) या मैं अपने कोड में कुछ गलत कर रहा हूं?
क्या आप अपना कोड उस स्थान आईडी के साथ अपडेट कर सकते हैं जिसमें असंगत संख्याओं की समीक्षा है, ताकि हम पुन: निर्माण कर सकें? – Alexey
@Alexey, google place id गतिशील है, उपरोक्त समस्या एकाधिक संपत्ति के लिए हो रही है। exa: 'https: // plus.google.com/101511264527346460079/about' और' https://www.google.co.in/webhp?ie=utf-8&oe=utf-8&gws_rd=cr&ei=clA-VeieGIORuQSj54DwCw#q = + केंसिंगटन + 665 + वाशिंगटन + सेंट + बोस्टन% 2 सी + एमए + 02111' आप देख सकते हैं कि google + पर कोई समीक्षा नहीं है।लेकिन Google खोज में, आप देख सकते हैं कि इस संपत्ति के लिए 43 Google समीक्षाएं हैं। – DS9
बस एक साइड नोट, Google स्थल API आपको केवल 5 समीक्षाओं के एक JSON सरणी [dde (https://developers.google.com/places/webservice/details) के रूप में अधिकतम 5 समीक्षा दिखा सकता है। – ilpaijin