我想使用googleapis网址获取timeZoneId。我希望这个url返回给我json响应稍后解析它并在我的数据库中插入lat和long。当它不是googlemap网址时它工作正常但我在我的代码中使用这种网址时出现了着名的“request_denied”错误:
如何从谷歌获取URL中的json,我想从纬度,经度和时间戳获取时区
我尝试过使用file_get_contents从URL获取数据。
$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331766000&sensor=false';
$json = file_get_contents($json_url);
$obj = json_decode($json);
echo $obj->timeZoneId;
但它不起作用。它返回“status”:“REQUEST_DENIED” 谢谢任何小费。
更新
感谢所有:)我在php中检查 extention-> php_openssl 和它 工作
答案 0 :(得分:2)
您忘记了网址中的s
:
$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331766000&sensor=false';
$json = file_get_contents($json_url);
$obj = json_decode($json);
echo $obj->timeZoneId;
这适用于我的电脑。
答案 1 :(得分:1)
$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331766000&sensor=false';
$json = file_get_contents($json_url);
$data = json_decode($json, TRUE);
echo $data['timeZoneId'];
尝试这个我认为这可能会有所帮助。问题出在json_decode上。
答案 2 :(得分:1)
更改您的网址:
$json_url = 'http://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331766000&sensor=false';
到此:
$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1331766000&sensor=false';
使用 http ,您将获得REQUEST_DENIED。