如何修复:无法打开流:HTTP请求失败!找不到HTTP / 1.1 404?

时间:2014-11-18 22:50:24

标签: php facebook facebook-graph-api

我正在通过他们的网站(http://aapot.com.br)帮助一个非政府组织,我在一个从Facebook专辑中提取照片的脚本上收到错误。

它在Localhost上工作正常但是当我移动到服务器时,它会出错。

脚本是:

<?php
                $json_link = "http://graph.facebook.com/207640916063623/photos?fields=source";
                $json = file_get_contents($json_link);
                $obj = json_decode($json, true, 512, JSON_BIGINT_AS_STRING);
                $photo_count = count($obj['data']);
                for($x=0; $x<$photo_count; $x++){
                $source = $obj['data'][$x]['source'];
                $id = $obj['data'][$x]['id'];
                    echo "<li style='width:auto !important;height:100px;'><a href='#{$id}' data-toggle='modal'><img src='{$source}' style='width:auto !important;height:150px;' /></a>";
                    echo "</li>";
                }
            ?>

收到以下错误:

警告:: file_get_contents(http://graph.facebook.com/207640916063623/photos?fields=source):无法打开流:HTTP请求失败!在第40行的/home/u295274872/public_html/wp-content/themes/aapot/index.php中找不到HTTP / 1.1 404。

我已经检查过并且fopen已启用。 PHP版本是5.5。

请问,有关如何解决此问题的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用urlencode();

<?php
$json_link = urlencode("http://graph.facebook.com/207640916063623/photos?fields=source");
?>

答案 1 :(得分:0)

$json_link = "http://graph.facebook.com/207640916063623/photos?fields=source";

您需要令牌访问权限:

$json_link = "http://graph.facebook.com/207640916063623/photos?fields=source&access_token=<token>";