我試圖從Freebase API接收數據。我手動構建了一個工作API調用,它在我的瀏覽器中爲我提供了有效的JSON響應。所以我寫了一個PHP函數,它應該做的正是:Freebase API調用在瀏覽器中工作,但捲曲失敗
$service_url = 'https://www.googleapis.com/freebase/v1/search';
$params = array(
'filter' => '(all name:"Avatar")',
'lang' => 'en',
'type' => 'film/film',
'key' => Configure::read('Api.Key')
);
$url = $service_url . '?' . http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
我得到的迴應是NULL
,但如果我利用內置的網址,並輸入到自己的Chrome REST插件或者直接查看它在瀏覽器中,我得到有效的答覆。如果url有效,爲什麼我的curl函數會失敗?
如果您只是包含內聯鍵,如'key'=>'XXX-XXX-XXX',這是否工作?我剛剛嘗試過,它適用於我。 – 2013-03-06 19:44:15
您是否檢查過curl_exec調用之後curl_error($ ch)的輸出是什麼? – asmecher 2013-06-13 17:43:25