如何在网站上以编程方式邀请Facebook好友

13

我需要的功能是在网站页面上展示一份Facebook好友列表,并配以自定义设计,让用户可以选择其中一些好友并发送邀请。

在API v2.0中,可以通过以下方式获取好友列表:

FB.api('/me/taggable_friends', function (response) {
     ...
});

但是它没有返回我需要用于邀请的真实用户ID,这是下一个函数调用所需的:

FB.ui({
    method: 'apprequests',
        message: invite_text,
        to: 'user_id_1, user_id_2'
    }, function (response) {
        ...
    }
);

我该如何获得这些真实的ID?或者有没有其他方法解决这个功能?因为我找到的所有答案都与不适合我的游戏相关。

我需要一个完整的朋友列表,而不仅仅是已经使用我的网站的人(类似于游戏中的invitable_friends部分)。

1个回答

15

您不被允许使用taggable_friends来邀请好友,它显然是用于标记朋友的,而你只会得到一个标记令牌。

虽然有invitable_friends,但:

可邀请好友API仅适用于Facebook Canvas应用程序实现使用版本2.0的Graph API的游戏。

(https://developers.facebook.com/docs/games/invitable-friends/v2.1)

恐怕您想要实现的不可能。邀请朋友来您的网站的正确方式是使用发送对话框:https://developers.facebook.com/docs/sharing/reference/send-dialog

您可以在“to”参数中包含一个用户ID。当然,该用户也必须授权您的应用程序,您可以使用/me/friends获取这些用户。或者更好的方法是:打开对话框,让用户自己选择。


为什么你要预先填写呢?用户应该自己选择发送给哪些朋友。 - andyrandy
1
因为我需要用户不通过FB弹出窗口选择朋友,而是在我的网站上使用自定义设计的复选框选择其中一些或全部朋友,然后点击“发送邀请”,并仅在FB弹出窗口中确认他的选择。这个功能将适用于几个社交网络,并且它们应该具有相同的设计。 - axes
3
不行。如此解释:https://developers.facebook.com/docs/apps/faq#invite_to_app - WizKid
那么从我的网站发送邀请的唯一方法是使用发送对话框吗?我不喜欢用户必须输入什么。如果有任何类似于“apprequests”的方法,但不是针对游戏的,这样用户就可以看到他的朋友并只需点击按钮... - axes
2
没有变通方法。如果有变通方法,你应该提交一个错误报告。 - andyrandy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接