按下按钮后如何获取用户信息

时间:2013-02-11 12:41:12

标签: c# javascript ajax facebook-graph-api

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

我做了这样的

  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 + '.');
    });
}

此外,每个域都必须有不同的应用ID(重要

1 个答案:

答案 0 :(得分:1)

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

点击此处了解更多详情:https://developers.facebook.com/docs/howtos/login/getting-started/