0

我开发了一个 Facebook 游戏,当玩家加载游戏时它需要身份验证。以前它工作正常。每当“新”用户尝试玩我的游戏时,他需要单击“允许”按钮以授予权限。此对话框之前运行良好,但现在 Facebook 将应用一些更改,称为 2013 年 2 月的重大更改。

当我通过我的应用程序的 Facebook 设置“启用”2013 年 2 月的重大更改时,我的应用程序不适用于现有用户和新用户。事实上,“允许”权限对话框没有加载。

以前我成功地使用以下方法进行身份验证,当我通过游戏设置启用 2013 年 2 月的重大更改时,该方法现在不起作用。 https://www.facebook.com/dialog/oauth?(链接1)

现在我还尝试使用另一种方法进行身份验证 https://graph.facebook.com/oauth/authorize?(链接2)

但它也没有用。应用程序未重定向到应用程序画布页面。事实上,我收到了两次错误代码 307,然后它将页面重定向到(链接 1),这不起作用。

你能帮我看看发生了什么,我怎样才能让我的身份验证工作?

4

1 回答 1

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'});
}
于 2013-02-13T11:12:59.723 回答