允许将用户信息获取到Facebook即时游戏中

时间:2018-11-27 07:46:39

标签: javascript html facebook facebook-javascript-sdk facebook-instant-games

关于我的查询,请帮助我。

我制作了一个即时游戏,在该游戏中,我需要用户(玩家)信息(例如电子邮件,性别,生日和位置)。

我使用下面的以下代码来获取信息,但无法正常工作 这是代码:

window.fbAsyncInit = function () {

        FB.init({
            appId: '<app_id>',
            cookie: true,
            xfbml: true,
            version: 'v3.2'
        });

        FB.AppEvents.logPageView();

        function onLogin(response) {
            if (response.status == 'connected') {
                FB.api('/me?fields=id,name,birthday,gender,installed,email', function (data) {
                    console.log('Hello, ' + data.first_name + '!');
                });
            } else {
                console.log('User cancelled login or did not fully authorize.');
            }
        }

        FB.getLoginStatus(function (response) {
            // Check login status on load, and if the user is
            // already logged in, go directly to the welcome message.
            if (response.status == 'connected') {
                onLogin(response);
            } else {
                // Otherwise, show Login dialog first.
                FB.login(function (response) {
                    onLogin(response);
                }, {scope: 'email'});
            }
        });
};

但是当我将此代码运行到IG中时,发生了错误- 操作不安全。

请帮助我提供一个解决方案,我可以在获得许可的情况下获取用户信息。

此处执行以下步骤:

a)在Facebook开发者帐户上创建一个应用

b)然后添加产品Facebook登录名

c)以及应用中心-在此处添加要向用户询问的权限。

d)之后,打开下面的应用程序页面

App url https://www.facebook.com/games/app_namespace : show these permisions

1 个答案:

答案 0 :(得分:0)

您不能在Instant Games中使用Facebook登录SDK。您必须使用相关的FBInstant方法(例如FBInstant.player.getName())来获取玩家信息。当前无法从Instant Games中访问玩家的电子邮件地址和性别。