2012-09-11 72 views
0

我有一些PHP代碼中添加的地方谷歌的地方,但我得到一個錯誤REQUEST_DENIED回來了,我不知道爲什麼:谷歌的地方REQUEST_DENIED

 $data = array(
     "location" => array("lat"=>floatval(trim($latlng[1])),"lng"=>floatval($latlng[0])), 
     "accuracy" => 50, 
     "name" => urlencode($edtName), 
     "types" => array(urlencode($cmbType[0])) 
     ); 
     echo "sending to google:<br>"; 
     echo json_encode($data); 
     $ch = curl_init(); 
     $post_values = json_encode($data); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
     curl_setopt($ch, CURLOPT_URL, 'https://maps.googleapis.com/maps/api/place/add/json?sensor=false&key=xxx'); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
     curl_setopt($ch, CURLOPT_VERBOSE, 1); 

     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_values); 
     $data = curl_exec($ch); 
     if(!curl_errno($ch)) 
     { 
      echo 'Received raw data' . $data; 
     } 

我檢查我的谷歌API密鑰和我嘗試了兩種類型:「鍵瀏覽器應用程序(與查閱程序)」和「鍵爲服務器應用程序(與IP鎖定)」,但都有相同的結果

有沒有辦法獲得更多信息,爲什麼我的請求被拒絕?錯誤的位置或錯誤的關鍵?

這是發送給Google的數據:

{"location":{"lat":4.63762250793,"lng":51.148788446},"accuracy":50,"name":"Binnenspeeltuin+Het+Fort%2C+Kessel","types":["amusement_park"]} 
+0

我要說的是,你不必送'內容類型的請求頭:應用程序/ json' – Austin

+1

我只是複製/粘貼你的代碼,並嘗試用我的鑰匙('鍵服務器應用程序(與IP鎖定)'),它運作良好。 – maxdec

回答

1

感謝您的意見,我終於找到了我做錯了什麼:

在谷歌在我的「主要用於服務器應用程序的定義(用IP鎖定)「我填寫了我的服務器的IP地址。我認爲這個密鑰只能從該服務器使用,但是它是一個客戶端IP檢查器。

所以我清除了IP-區,現在它工作正常

感謝

+0

什麼?當您從服務器發出請求時,它代表「客戶端IP」是什麼意思? – Kolyunya