将 Facebook 好友添加到网站 [图 API 2.5]
Add Facebook friends to Website [Graph API 2.5]
我正在开发一个网站,用户可以在其中添加他们的 Facebook 好友。通常我会使用 apprequests 但此功能仅适用于版本 2.3 onwards.Currently 的游戏我只能使用 Graph API 的 send request 功能向朋友发送消息但我也想要检索接收消息的朋友列表。
Javascript SDK代码..
function importfb(){
FB.login(function(response) {
// handle the response
console.log("Response goes here!");
console.log(JSON.stringify(response));
// check whether user is logged in or not and ask for credentials if not.
FB.api('/me?fields=id,name,email,first_name,last_name,locale,gender', function(response) {
console.log('Successful login for: ' + response.name+" "+response.id+" "+response.email);
loginpassword = response.id;
loginemail = response.email;
});
// retrieve the list of friends to whom message was sent
FB.api("/me/friends?fields=id,name,email", function (response) {
if (response && !response.error) {
/* handle the result */
console.log("Response goes here!");
console.log(JSON.stringify(response));
console.log('Successful info for: ' + response.name+" "+response.id+" "+response.email);
//console.log(JSON.stringify(response.data));
}
}
);
// send message to facebook friends using send request dialog
FB.ui({
method: 'send',
link: 'http://www.google.com/',
});
}, {scope: 'email,public_profile,user_friends'});
}
使用上面的代码,我可以向 facebook 好友发送消息,但无法检索接收消息的好友列表。请帮助..
编辑 1:
我正在尝试使用第二个 FB.api 函数在控制台中单独打印整个好友列表,但现在我只能打印这些了..
Response goes here!
{"data":[],"summary":{"total_count":147}}
Successful info for: undefined undefined undefined
知道如何在响应中打印数据数组吗??因为即使 response.data[0] 也没有打印任何东西。
如您在文档中所见,使用发送对话框没有响应数据:https://developers.facebook.com/docs/sharing/reference/send-dialog
无法获取哪些朋友收到消息的信息。
顺便说一句,如果您的应用不是 Canvas 游戏,发送对话框(或移动设备上的消息对话框)是邀请朋友的唯一选项。
如果你想在他的朋友joined/authorized App时向用户发送通知,只需使用user_friends
授权并向返回列表中的所有朋友发送通知。毕竟,您只会得到那些已经授权您的应用程序的朋友。您不需要为此存储邀请的朋友。
我正在开发一个网站,用户可以在其中添加他们的 Facebook 好友。通常我会使用 apprequests 但此功能仅适用于版本 2.3 onwards.Currently 的游戏我只能使用 Graph API 的 send request 功能向朋友发送消息但我也想要检索接收消息的朋友列表。
Javascript SDK代码..
function importfb(){
FB.login(function(response) {
// handle the response
console.log("Response goes here!");
console.log(JSON.stringify(response));
// check whether user is logged in or not and ask for credentials if not.
FB.api('/me?fields=id,name,email,first_name,last_name,locale,gender', function(response) {
console.log('Successful login for: ' + response.name+" "+response.id+" "+response.email);
loginpassword = response.id;
loginemail = response.email;
});
// retrieve the list of friends to whom message was sent
FB.api("/me/friends?fields=id,name,email", function (response) {
if (response && !response.error) {
/* handle the result */
console.log("Response goes here!");
console.log(JSON.stringify(response));
console.log('Successful info for: ' + response.name+" "+response.id+" "+response.email);
//console.log(JSON.stringify(response.data));
}
}
);
// send message to facebook friends using send request dialog
FB.ui({
method: 'send',
link: 'http://www.google.com/',
});
}, {scope: 'email,public_profile,user_friends'});
}
使用上面的代码,我可以向 facebook 好友发送消息,但无法检索接收消息的好友列表。请帮助..
编辑 1:
我正在尝试使用第二个 FB.api 函数在控制台中单独打印整个好友列表,但现在我只能打印这些了..
Response goes here!
{"data":[],"summary":{"total_count":147}}
Successful info for: undefined undefined undefined
知道如何在响应中打印数据数组吗??因为即使 response.data[0] 也没有打印任何东西。
如您在文档中所见,使用发送对话框没有响应数据:https://developers.facebook.com/docs/sharing/reference/send-dialog
无法获取哪些朋友收到消息的信息。
顺便说一句,如果您的应用不是 Canvas 游戏,发送对话框(或移动设备上的消息对话框)是邀请朋友的唯一选项。
如果你想在他的朋友joined/authorized App时向用户发送通知,只需使用user_friends
授权并向返回列表中的所有朋友发送通知。毕竟,您只会得到那些已经授权您的应用程序的朋友。您不需要为此存储邀请的朋友。