我一直在构建一个社交送礼平台,并且已经在以下位置运行了几个月的应用程序:http://egift.me/promos/venue/facebookconnect
该应用程序有一个简单的用户流程。单击登录/连接 facebook 按钮,登录和/或授权应用程序,您将被重定向到“谢谢/确认”样式页面。
如果我在标准浏览器上逐步完成,我没有问题。如果我在移动设备上逐步执行此操作,我最终会得到可爱的“找不到您请求的页面”页面。
我没有配置移动 Web url,我只是使用带有 Facebook 登录的网站。即使我尝试添加移动 Web url(它是相同的基本 URL,我正在使用 View Switching 来提供桌面与移动优化的视图),我也遇到了同样的问题。
有人知道发生了什么吗?我可以提供任何其他信息吗?
[更新]
这有效(一定要改变你的范围):
//instead of onClick could just as easily use something like jQuery event binding
<button onClick="loginUser();">Login</button>
<script type="text/javascript">
function loginUser() {
FB.login(function (response) { }, { scope: 'YOUR_SCOPE_HERE' });
}
FB.getLoginStatus(function (response) {
FB.Event.subscribe('auth.authResponseChange', handleResponse);
});
handleResponse = function (response) {
document.body.className = response.authResponse ? 'connected' : 'not_connected';
if (response.status === 'connected') {
// the user is logged in and has authenticated your
// app, and response.authResponse supplies
// the user's ID, a valid access token, a signed
// request, and the time the access token
// and signed request each expire
} else if (response.status === 'not_authorized') {
// the user is logged in to FB, but has not yet authenticated your app
} else {
// the user is not logged in to FB
}
};
</script>