1

我的服务器似乎在哪里出现问题。我收到了这个错误。

    failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request

这是我已经实施了一年多的代码,并且已确认在单独的登台服务器上工作。

    $url = 'http://graph.facebook.com/10150624051911279/photos/all';

$response = json_decode(file_get_contents($url, true));


foreach ($response->data as $photo) {
    echo '<li><a href="' . $photo->link . '" ><img class="img" src="timthumb.php?src=' . $photo->source . '&h=175&w=175"  /></a></li>';
}

我的服务器上可能出现的问题可能会导致此问题。我难住了。

4

1 回答 1

4

请求应该失败,因为要访问该 URL,您需要获取访问令牌。所以 Facebook 回来了

{
   "error": {
      "message": "An access token is required to request this resource.",
      "type": "OAuthException",
      "code": 104
   }
}

以及“400 Bad Request”状态。此外,由于您正在打开一个 URL,因此 file_get_contents 的第二个参数应该为 false(如果您知道包含路径不存在,则没有必要搜索包含路径)。

要仍然从 Facebook 获得响应并忽略错误,您可以执行以下操作:

$url = 'http://graph.facebook.com/10150624051911279/photos/all';
$context = stream_context_create(array(
  'http' => array(
     'ignore_errors'=>true,
     'method'=>'GET'
     // for more options check http://www.php.net/manual/en/context.http.php
   )
));
$response = json_decode(file_get_contents($url, false, $context));
于 2013-04-19T17:35:03.480 回答