警告:file_get_contents(http://graph.facebook.com/) [function.file-get-content]:无法打开流:HTTP 请求失败!HTTP/1.0 400 第 5 行/hermes/fb_youtube_downloader/redirect_url.php 中的错误请求
警告:无法修改标头信息 - 标头已由/hermes/fb_youtube_downloader/redirect_url.php 第 8 行中的/hermes/bosoraweb069/b288/fb_youtube_downloader/redirect_url.php:5 开始)发送任何答案将不胜感激我的索引.php页
<?php session_start();
ob_start();
require("facebook.php");
require("config.php");
$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'cookie' => true,
'oAuth' => true
));
print_r($_REQUEST['arg']);
$access = $facebook -> getAccessToken();
$signedRequest = $facebook ->getSignedRequest();
/*echo "<pre>";
print_r($signedRequest);
echo "</pre>";
exit;*/
if($signedRequest['page']['id'] != ""){
$_SESSION["fb_page_id"] = $signedRequest['page']['id'];
$_SESSION['fb_page_admin'] = $signedRequest['page']['admin'];
}
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream,manage_pages',
'redirect_uri' => $fbconfig['redirect_uri'] . "&pageiid=".$_SESSION['fb_page_id']
)
);
//$logoutUrl = $facebook->getLogoutUrl();
$user = $facebook->getUser(); # User id of the current Facebook user
if (!$user) {
//$_SESSION['installed'] = 1;
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; # Authentication part
exit;
}
?>
我的重定向网址页面
<?php
if(isset($_REQUEST['page']) && $_REQUEST['page'] == "facebookPage"){
//include("config.php");
session_start();
$page_details = file_get_contents("http://graph.facebook.com/" . $_REQUEST["pageiid"]);
$page_arr = json_decode($page_details);
$pg_url = $page_arr->link."?sk=app_".$_SESSION['fb_app_id'];
header("Location: " . $pg_url);
exit;
}
?>
警告说你的问题是获取Facebook页面的内容。当警告将一些字符串(错误消息)发送到显示器时,header() 函数失败。
这不是重定向问题,而是facebook api问题(对不起,我没有解决方案,我不知道facebook api)。也许你应该改变你的问题标题。
确认您是否得到 $_REQUEST["pageiid"],警告file_get_contents是因为您最终没有提供页面或用户 ID。就像如果你尝试在没有页面 ID 的情况下访问 url http://graph.facebook.com/,最后它会给你一个错误,如果你指定一个页面 ID,它会起作用。例如 http://graph.facebook.com/10151527552961421
因此,只需确保请求变量中有正确的pageid即可。