我正在尝试使用新的 Facebook 身份验证系统,但无法登录。
我收到以下错误消息:
API错误代码:100
API错误描述:无效参数
错误消息:next 不属于应用程序。
发送到 Facebook 的网址是:
请注意,网址中的“Next”变量是:
下一个=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23%3F%3D%26cb%3Df357eceb0361a8a%26origin%3Dhttp%253A%252F%252Fwww.mysite.com%252Ff38fea4f9ea573%26relation% 3Dopener%26transport%3Dpostmessage%26frame%3Df23b800f8a78%26结果%3DxxRESULTTOKENxx
有什么想法可能会出问题吗?我所做的就是从 facebook 网站复制并粘贴 facebook 登录演示代码:
<?php
define('FACEBOOK_APP_ID', 'your application id');
define('FACEBOOK_SECRET', 'your application secret');
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
}
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml">
<body>
<?php if ($cookie) { ?>
Your user ID is <?= $cookie['uid'] ?>
<?php } else { ?>
<fb:login-button></fb:login-button>
<?php } ?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '<?= FACEBOOK_APP_ID ?>', status: true,
cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
</body>
</html>
谢谢您的帮助!
我遇到了同样的错误,但我正在使用 Rails,问题是连接 URL 未更新。我的本地应用程序在端口 3000 上运行,连接 URL 指向端口 80。
看看改变是否适合你。
- Goto http://www.facebook.com/developers http://www.facebook.com/developers
- 编辑您正在处理的应用程序
- 点击
Connect
左侧的选项卡
- 验证是否
Connect URL
设置正确
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)