从Facebook Graph API获取404错误

时间:2011-08-01 19:18:51

标签: facebook facebook-graph-api http-status-code-404

所以我收到了这个错误,我不知道为什么。 When I run it on the server it's onI get a 404 error with a simple request like this.

$json = file_get_contents('https://graph.facebook.com/me?access_token='.LONGSTRING);

错误是:

function.file-get-contents: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

但是,我可以同时在浏览器中直接粘贴我使用的file_get_contents网址,然后就会出现。所以好像Facebook正在阻止我的服务器。

它的工作时间也只有一半。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

尝试cURL,不确定为什么file_get_contents不可靠但我过去看过同样的问题。我使用这个geturl函数来cURL一个URL并将参数作为PHP数组传递

function geturl($url, $params) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params, null, '&'));
    $ret = curl_exec($ch);
    curl_close($ch);
    return $ret;
}

然后可以这样调用

$url = 'https://www.graph.facebook.com/me';
$params = array('access_token' => '*********************');
$graph_ret = geturl($url, $params);

答案 1 :(得分:0)

$json = @file_get_contents('https://graph.facebook.com/me?access_token='.$access_token) or die("ERROR"); 

使用它会帮助你很多