FB Graph API的file_get_contents上的HTTP错误

时间:2017-03-01 02:54:58

标签: php facebook

我正在尝试从Facebook检索页面/个人资料的详细信息到我的PHP应用程序中。所以我首先检索id,然后运行以下查询。但是我收到了错误。

我收到以下错误:

  

警告:file_get_contents(https://graph.facebook.com/v2.8/40444963499?fields=id,name,picture.width(700).height(700),albums.limit(5) {name,photos.limit(2){name,picture}},posts.limit(5)& access_token =“my access token here “):无法打开流:HTTP请求失败! HTTP / 1.1 400错误请求

但是,如果我在浏览器上运行相同的URL,我会正确地返回JSON。

2 个答案:

答案 0 :(得分:1)

Windows几乎总是存在SSL证书问题,我不建议您为生产站点执行此操作,但在开发过程中它很好。通过禁用SSL检查,您实际上是在说您不关心该站点是否具有有效的SSL证书,这意味着如果有人试图冒充graph.facebook.com,您将与此站点进行通信,这可能是偷走你的访问令牌。

$context = stream_context_create(array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    )
));

file_get_contents('https://graph.facebook.com/v2.8/40444963499?fields=id,name,picture.width(700).height(700),albums.limit(5){name,photos.limit(2){name, picture}},posts.limit(5)&access_token=FB_ACCESS_TOKEN', null, $context);

现在,如果您对在机器上实际修复问题感兴趣,请查看以下答案:PHP - SSL certificate error: unable to get local issuer certificate

答案 1 :(得分:0)

所以错误是在url中传递的两个参数之间有一个空格。它没有在Web浏览器上显示,因为我认为它不打印空间,但由于空间,file_get_contents无效。