2013-06-01 44 views
0

我想使用googleapis網址獲取timeZoneId。我想這個url返回我JSON響應以後解析它,並在我的數據庫中插入lat和long。它工作正常,當它不是一個谷歌地圖的網址,但我有着名的「request_denied」錯誤,當我在我的代碼中使用這種類型的網址:如何讓網址中的json https

如何從谷歌獲得json的url,我想從緯度獲取時區,經度和時間戳

https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false

我從URL試圖獲取數據的file_get_contents用。

$json_url = 'http://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false'; 
$json = file_get_contents($json_url); 
$obj = json_decode($json); 
echo $obj->timeZoneId; 

但它不起作用。它alwy返回「狀態」:「REQUEST_DENIED」 謝謝任何​​得到一個提示。

更新

感謝所有:)我檢查的PHP extention-> php_openssl它 工作

+0

「它不工作」是*永遠不會*適當描述實際發生的事情。 – str

+0

這很簡單,你用http得到'REQUEST_DENIED'。 –

+0

謝謝所有:)我檢查了PHP的擴展 - > php_openssl和它的工作 – HoangHieu

回答

1
$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false'; 

    $json = file_get_contents($json_url); 
    $data = json_decode($json, TRUE); 
    echo $data['timeZoneId']; 

試試這個,我認爲這可能幫助。問題出在json_decode上。

1

您在URL中忘了s

$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false'; 
$json = file_get_contents($json_url); 
$obj = json_decode($json); 
echo $obj->timeZoneId; 

此作品在我的電腦上。

1

更改您的網址來自:

$json_url = 'http://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false'; 

這樣:

$json_url = 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331766000&sensor=false'; 

隨着HTTP你得到REQUEST_DENIED。

+0

:(這項工作在PC上,但不能在主機上工作:( – HoangHieu