2011-07-27 20 views
1

だから私は私のブラウザのURLでこれを置く場合:シンプルなPHP GoogleプレイスAPIリクエスト

https://maps.googleapis.com/maps/api/place/search/xml?location=45.508867,-73.554242&radius=500&sensor=false&key=mykey 

それは動作します。私はPHPでまったく同じコールをしようとした場合しかし、私はアクセスが拒否されました得る:

<?php 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://maps.googleapis.com/maps/api/place/search/xml"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "location=45.508867,-73.554242&radius=500&sensor=false&key=mykey"); 
    $result = curl_exec($ch); 
    echo $result; 
?> 

は、私は多くの異なるオプションとマイナーな変更をしようとしたが、何も機能していないと私は理由を理解することはできません。

+2

'User-Agent'を追加してみてください。 –

答えて

0

これをテスト目的で実行している場合は、SSL検証が有効になっていないことを確認してください。リクエストフォームが実行されない可能性があります。

0

は、私はあなたがこのカール設定が欠落していると信じて:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
0
$latitude = 27.7172; 
$longitude = 85.3240; 
$radius = 50000; 
$name = "kupondole";  
$url = "https://maps.googleapis.com/maps/api/place/search/json?name=".urlencode($name)."&location=".$latitude.",".$longitude."&radius=".$radius."&key=MY_KEY"; 
      $ch = curl_init(); 
      curl_setopt($ch, CURLOPT_URL, $url); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
      curl_setopt($ch, CURLOPT_PROXYPORT, 3128); 
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
      $response = curl_exec($ch); 
      curl_close($ch); 

作品完全に罰金。

関連する問題