我开发了一款Facebook游戏,当玩家加载游戏时需要进行身份验证。以前它工作正常。每当“新”用户尝试玩我的游戏时,他需要点击“允许”按钮来授予权限。此对话框之前工作正常,但现在Facebook将应用一些更改,称为2013年2月的更改。
当我通过我的应用程序的Facebook设置“启用”2013年2月的重大更改时,我的应用程序不适用于现有用户和新用户。实际上,“allow”权限对话框未加载。
以前我成功使用以下方法进行身份验证,当我通过游戏设置启用2013年2月的重大更改时,现在无效。 https://www.facebook.com/dialog/oauth? (LINK1)
现在我也尝试使用其他方法进行身份验证 https://graph.facebook.com/oauth/authorize? (链接2)
但它也没有用。应用程序未重定向到应用程序画布页面。实际上我有两次错误代码307,然后它将页面重定向到(链接1) 这不起作用。
你能帮我解决一下发生了什么,我怎样才能使我的身份验证工作?
答案 0 :(得分:0)
经过身份验证的推介已经消失,因此您需要考虑另一种方式来询问用户的权限。你可以使用javascript SDK。您需要先加载SDK:
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
然后你需要初始化你的申请:
window.fbAsyncInit = function()
{
FB.init({
appId:'YOUR_APP_ID',
status:true,
cookie:true,
xfbml:true
});
};
最后,您必须创建一个登录函数,它将处理您的自定义逻辑:
function login()
{
FB.login(function(response){
if(response.authResponse)
{
//CUSTOM CODE GOES HERE
}
},{scope:'publish_actions'});
}