0

在 Facebook API 中,有没有一种方法可以通过用户 ID 获取用户的姓名和姓氏?

我在我的 ASP.NET MVC 应用程序中使用 FB API,并且我正在使用 MultiFriendSelector 让用户邀请朋友加入我的应用程序。我需要在选择这些朋友时将它们保存在我的数据库中,以便他们可以访问我的页面。这是我到目前为止的代码。

    function sendRequestToRecipients() {
        var user_ids = document.getElementsByName("user_ids")[0].value;

        FB.ui({
            method: 'apprequests',
            message: 'Join my group on CodeShare!',
            to: user_ids
        }, requestCallback);
    }

    function sendRequestViaMultiFriendSelector() {
        FB.ui({
            method: 'apprequests',
            message: 'Join my group on CodeShare!'
        }, requestCallback);
    }

    function requestCallback(response) {
        if (response.request && response.to) {
            var request_ids = [];
            for (var i = 0; i < response.to.length; i++) {
                var fb_id = response.to[i];
                request_ids.push(fb_id);

                //// here I want to get the user's names and
                     surnames so that I can send them along with the id's..

                $.ajax({
                    url: '/Groups/SaveInvitedFriends',
                    type: 'POST',
                    data: { invitedFriends: request_ids }
                }); 
            }
        }
    }

有没有办法在接受请求后保存用户?

谢谢

4

1 回答 1

4

您需要调用 API 来请求用户的信息。Facebook 的 JavaScript API 文档给出了以下示例:

FB.api('/me', function(response) {
  alert('Your name is ' + response.name);
});

(来自http://developers.facebook.com/docs/reference/javascript/#graphapi

me指当前登录的用户。如果您改用用户 ID,则该response对象将包含name(全名)、、first_namelast_name姓氏)和其他几个基本字段。例如,zuck是 Mark Zuckerberg 的用户 ID,因此使用请求FB.api("/zuck", function(response) { console.log(response); });返回以下内容:

Object {
    first_name: "Mark"
    gender: "male"
    id: "4"
    last_name: "Zuckerberg"
    link: "https://www.facebook.com/zuck"
    locale: "en_US"
    name: "Mark Zuckerberg"
    updated_time: "2013-05-09T05:12:23+0000"
    username: "zuck"
}

让我知道这是否有意义或者您有任何问题:)

于 2013-05-22T05:09:21.263 回答