在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 }
});
}
}
}
是否有可能在接受请求时保存用户?
由于
答案 0 :(得分: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
是指当前登录的用户。如果您使用的是用户标识,则response
对象将包含name
(全名),first_name
,last_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"
}
如果这有意义或者您有任何疑问,请告诉我们。)