我正在构建一个可以在iPhone上打开全屏的网络应用程序,并且正在关注Facebook移动网站的代码,可以在以下网址找到:https://developers.facebook.com/docs/guides/mobile/web/
当我尝试使用Facebook登录页面登录时,单击“登录”按钮后出现空白屏幕。用户登录但是..我知道这一点,因为如果我关闭并重新打开网络应用程序,我会检查登录状态并尝试获取一些用户信息,并且工作正常。
我在这里见过其他人:blank white screen after FB login via web app?
似乎有人确定了一种解决方法,但我无法让它发挥作用。我正在使用的代码是:
function loginUser() {
FB.login(function(response) { }, {scope:'email'});
}
其他人表示我需要在此处使用解决方法:
login({scope:'email', redirect_uri:'where_to_go_when_login_ends'})
有谁知道如何合并这些代码以使其工作?
谢谢!
答案 0 :(得分:1)
问题在于登录窗口通常作为弹出窗口打开。但是,在(iOS)Web应用程序中,由于某种原因,这种方式得不到适当支持。
通过提供普通链接而不是FB自己的登录btn脚本,登录过程保持在同一窗口内(包括重定向过程!)
我希望这有助于任何人...
<a href="https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES">LOGIN!</a>
答案 1 :(得分:0)
试试this,它对我有用:
FB.login(function(response) {
//deal with response
}, {scope:'permissions', redirect_uri:'url to redirect to'} );