我正在尝试使用新的 facebook 身份验证系统,但无法登录。
我收到以下错误消息:
API 错误代码:100
API错误描述:参数无效
错误信息:next 不属于应用程序。
发送到 facebook 的 url 是:
请注意 url 中的“Next”变量是:
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%26result%3DxxRESULTOKENxx
有什么可能出错的想法吗?我所做的只是从 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。
看看改变是否适合你。
- 转到 http://www.facebook.com/developers
- 编辑您正在处理的应用程序
- 点击左侧的
连接
标签 - 验证
Connect URL
是否设置正确
关于php - Facebook 连接 'next' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710918/