我的iframe facebook应用程序的小问题。我想在选项卡中的许多fb页面上使用该应用程序(所以我不会知道FB页面的确切URL)。但是,在应用程序请求权限后,重定向存在问题。而不是fb页面,它将用户重定向到我的画布URL,这是错误的!怎么解决?
答案 0 :(得分:1)
不要将粉丝页面的重定向方法也称为Tabs,只需在java脚本中调用以下方法即可获得权限。
function getPermission(){
FB.ui({
'method': 'permissions.request',
'perms': 'publish_stream,email,user_photos',
},
function(response) {
if (response.perms != null) {
// user is already connected
token=response.session.access_token;
uid=response.session.uid;
}
else if(response.status=="connected")
{
token=response.session.access_token;
uid=response.session.uid;
// new user is now connected
}
else
{
// user has not given a permission hence not connected.
}
});
return false;
}
答案 1 :(得分:0)
如果您只询问一次登录/权限(这将无法在需要时处理获取权限),这样的事情应该有效:
function withLogin(callback) {
var ifLogin = function(response, true_cb, else_cb) {
if(response.authResponse)
true_cb(null, response);
else
else_cb(true, null);
};
FB.getLoginStatus(function(response) {
ifLogin(response, callback, function(err, response) {
FB.login(
function(response) {
ifLogin(response, callback, callback);
},
{ scope: "email,user_photos" }
);
});
});
}
...
window.fbAsyncInit = function() {
...
withLogin(function(err, response) {
if(err)
alert("This only works if you log in!");
else
alert("UserId: " + response.authResponse.userID);
});
};