Ошибка 404 из Facebook Graph API - PullRequest
3 голосов
/ 01 августа 2011

Итак, я получаю эту ошибку и понятия не имею, почему.When I run it on the server it's on, I 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

Однако я могу вставить URL-адрес, который я использую с file_get_contents, прямо в браузере на страницев то же время, и это подходит.Похоже, что Facebook блокирует мой сервер.

Также он работает в половине случаев.

Есть идеи?

Ответы [ 2 ]

5 голосов
/ 02 августа 2011

Попробуйте cURL, не уверен, почему file_get_contents ненадежен, но я видел ту же проблему в прошлом.Я использую эту функцию geturl для обхода 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);
0 голосов
/ 05 января 2013
$json = @file_get_contents('https://graph.facebook.com/me?access_token='.$access_token) or die("ERROR"); 

использовать это поможет вам много

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...