即时尝试将“使用Facebook登录”机会导入我的网站,我正在使用http://developers.facebook.com/docs/authentication,但仍无法使其正常运行。 我注册我的网站,并有app id和app secret。 我的登录表单中包含以下代码:
<a href="facebook.php"><img src="images/fb-login-button.png" /></a>
facebook.php文件:
<?php
$app_id = 1000000000000;
$app_secret = "asdasdasdasd";
$my_url = "http://xxxx.xx/";
$code = $_REQUEST["code"];
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url);
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret="
. $app_secret . "&code=" . $code;
$access_token = file_get_contents($token_url);
$graph_url = "https://graph.facebook.com/me?" . $access_token;
$user = json_decode(file_get_contents($graph_url));
echo("Hello " . $user->name);
?>
它返回消息“未定义的索引代码”,我不知道在哪里以及要改变什么。
请帮忙!
答案 0 :(得分:3)
您收到的错误是告诉您在请求中要查找的“代码”参数:
$ code = $ _REQUEST [“code”];
未提交..例如你需要将“代码”发布到页面或使用facebook.php通过GET传递吗?code = something
为避免在未发送参数“code”时遇到错误,您的代码可能如下所示:
if(!isset( $_REQUEST["code"] ) ) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url);
echo("<script> top.location.href='" . $dialog_url . "'</script>");
} else {
$code = $_REQUEST["code"];
}
希望有所帮助..