1

我有社交媒体工具栏。我有 facebook like 按钮,我的愿望是当有人点击 facebook like 按钮而不是找到用户并将相关信息存储到我的数据库以进行促销时。

我做了这样的

  window.fbAsyncInit = function() {

        FB.Event.subscribe('edge.create',
        function(response) {
            var FBGraphURL = "http://graph.facebook.com/user/callback=?";

            FB.getLoginStatus(function(res) { alert(res); });

            FB.api('/me', function(resp) {
                alert('Good to see you, ' + resp.username + '.');
            });
        });
    };

但仍然 resp.username 显示为undefined。我该如何解决这个问题?

更新

工作代码:

window.fbAsyncInit = function() {
    FB.Event.subscribe('edge.create', function(response) {
        login();
    });
};

function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            GetUser();
        } else {
            // cancelled
        }
    }, {scope: 'email'});
}

function GetUser() {
    FB.api('/me', function(resp) {
        alert('Good to see you, ' + resp.email + '.');
    });
}

此外,每个域都有不同的 App Id(重要

4

1 回答 1

1

点赞插件只会返回关于点赞内容的 URL。要获取用户信息,您必须使用 fb 连接,当用户接受您的应用程序时,您可以使用他的访问令牌检索他的信息!

在此处查看更多详细信息:https ://developers.facebook.com/docs/howtos/login/getting-started/

于 2013-02-11T13:15:28.647 回答