0

PHP と cURL を使用して Google Places API からデータを取得しようとしていますが、cURL で「ホストに接続できませんでした」というエラーが表示されます。Google プレイスのリクエスト URL をブラウザに貼り付けると、問題なく動作します。file_get_contents も機能しませんでした。これが私のコードです:

$ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    //curl_setopt($ch, CURLOPT_POST, 1);
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldString);
    $result = curl_exec ($ch);
    if (curl_errno($ch)) {
            return curl_error($ch);
    } else {
    curl_close($ch);
    }
    return $result;

私がリクエストしている URL はhttps://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_clubです。セキュリティ上の理由から API キーを削除しました。

4

1 に答える 1

0

可能な限り使用するのが本当に好きfile_get_contents()です。とてもシンプルでエレガントです。

通常、私はそうします

<?php
$json = (array) json_decode(file_get_contents("https://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_club."));

var_dump($json);
?>

次に、次のような配列が表示されます。

array(3) {
  ["html_attributions"]=>
  array(0) {
  }
  ["results"]=>
  array(0) {
  }
  ["status"]=>
  string(14) "REQUEST_DENIED"
}

明らかに、私は正しい API キーを持っていません :) それが役に立つことを願っています。

于 2012-01-05T14:38:36.950 に答える