2014-01-06 58 views
0

我嘗試使用谷歌的地方服務使用PHP捲曲使用谷歌地點服務與PHP的捲曲

在我的for循環(2圈)

,我把我的網址, 在1圈,我可以得到JSON信息但第二圈給我「REQUEST_DENIED」狀態。這裏是我的代碼:

<?php 

//header("content-type: application/json"); 
//header("content-type: Access-Control-Allow-Origin: *"); 
//header("content-type: Access-Control-Allow-Methods: GET"); 

set_time_limit(0); 
ini_set("memory_limit","12000M"); 

error_reporting(E_ALL); 
ini_set('display_errors', True); 

$cumulResults = array(); 
$pagenext=""; 

for($i=0;$i<2;$i++) 
{ 
    try{ 
     $curl = curl_init(); 
     curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER => 1, 
      CURLOPT_URL => 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=48.859294,2.347589&radius=50000&sensor=false&keyword=doctor&key=myapikeysecret'.$pagenext, 
     )); 

     if(!curl_exec($curl)){ 
      die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl)); 
     } 

     $resp = curl_exec($curl); 
     $result = json_decode($resp, true) ; 

     if(array_key_exists('status', $result ) ) 
     { 
      switch ($result['status']) 
      { 
       case "OK": 
        break; 
       case "OVER_QUERY_LIMIT": 
        case "INVALID_REQUEST": 
        case "REQUEST_DENIED": 
        //echo $result['status']; 
        //exit; 
        break; 
      } 
     } 

     print_r($result); 

     if (array_key_exists('next_page_token', $result)) 
     { 
      $pagenext = "&pagenex="+$result['next_page_token']; 
     }else{ 
      $pagenext = ""; 
     } 

     if($curl){curl_close($curl);} 
     sleep(5); 

    } catch (Exception $e) { 
     if($curl){curl_close($curl);} 
    } 
} 

?> 

感謝

+0

我使用睡眠功能(5秒),您建議等待多長時間? – user3165818

回答

0

我會建議使用sleep等待調用之間的線程?也許他們執行得太快並達到請求速度限制。大多數谷歌地圖服務都有它們,但它們沒有很好的記錄。

希望這會有所幫助。

+0

我發現問題:我換了$ pagenext =「&pagenex =」+ $ result ['next_page_token'];由$ pagenext =「&pagetoken =」。$ result ['next_page_token']; – user3165818