在Windows Phone上授予权限后,Facebook登录显示空白页
我正在建立一个移动网站,用户必须能够使用其facebook帐户登录,如上所述。它可以在Iphone和Android设备上运行,但在Windows Phone上则不行。情况就是这样:在Windows Phone上授予权限后,Facebook登录显示空白页,facebook,mobile,Facebook,Mobile,我正在建立一个移动网站,用户必须能够使用其facebook帐户登录,如上所述。它可以在Iphone和Android设备上运行,但在Windows Phone上则不行。情况就是这样: 当我按下登录按钮时,我会进入facebook页面,在那里我必须授予使用我的facebook帐户的权限 在我发出承诺后,它会重定向到“https://www.facebook.com/dialog/permissions.request“并显示一个空白页。在Android上调用“window.FB.login”回调(见
var fbApi={
init:函数(){
$.getScript(document.location.protocol+'//connect.facebook.net/en_US/all.js',函数(){
如果(window.FB){
window.FB.init({
appId:MY_APP_ID,
状态:正确,
曲奇:是的,
xfbml:false,
真的,
});
}
});
},
登录:函数(){
///
///点击登录facebook按钮
///
日志(“点击登录facebook按钮”);
如果(window.FB){
//Windows phone不输入此方法,Android和Iphone则输入
window.FB.login(函数(响应){
如果(响应状态){
日志('表示用户已允许与facebook通信');
fbAccessToken=response.authResponse.accessToken;
api('/me',函数(响应){
//获取facebook用户的信息。
loginService.subscribeSocialUser(response.id、response.first_name、response.last_name、fbAccessToken、“、”FaceBook”、FBSuccess、fbFail);
});
}否则{
日志('用户取消登录或未完全授权');
}
},
{范围:'电子邮件'
});
}
}
};
我用了这里描述的另一种方式:有同样的问题,不知道客户端Javascript SDK是否在WAP登录对话框中显示的设备上工作
var fbApi = {
init: function () {
$.getScript(document.location.protocol + '//connect.facebook.net/en_US/all.js', function () {
if (window.FB) {
window.FB.init({
appId: MY_APP_ID,
status: true,
cookie: true,
xfbml: false,
oauth: true,
});
}
});
},
login: function () {
/// <summary>
/// Login facebook button clicked
/// </summary>
log("login facebook button clicked");
if (window.FB) {
//Windows phone does not enter this method, Android and Iphone do
window.FB.login(function (response) {
if (response.status) {
log('it means the user has allowed to communicate with facebook');
fbAccessToken = response.authResponse.accessToken;
window.FB.api('/me', function (response) {
//get information of the facebook user.
loginService.subscribeSocialUser(response.id, response.first_name, response.last_name, fbAccessToken, "", "FaceBook", fbSucces, fbFail);
});
} else {
log('User cancelled login or did not fully authorize.');
}
},
{ scope: 'email'
});
}
}
};