我正在建立一个网站。我希望用户邀请Facebook好友查看用户可以在我的网站上制作的页面。所以我正在努力完成它。但我认为FB Api并不是为了做我想做的事情。我认为这是为了防止垃圾邮件,但我真的想知道它是否可以完成。
这是我到目前为止所拥有的。用户可以使用FB登录,我提供了一个体面的FB好友列表。 每个朋友都有一个复选框。当用户提交表单时,我会收集所有已检查的朋友ID:
var sendUIDs = '';
var mfsForm = document.getElementById('mfsForm');
for (var i = 0; i < mfsForm.friends.length; i++) {
if (mfsForm.friends[i].checked) {
sendUIDs += mfsForm.friends[i].value + ',';
}
}
在我尝试的时候,我想出了这个“sollution”,向所有的朋友发送了同样的邀请:
FB.ui({
method: 'apprequests',
to: sendUIDs,
message: "Hey come on look at my site",
data: "mywebsite.com/userlink"
});
看起来很棒,我想。正是我想要的......我想。
不幸的是,这仅用于游戏?首先,我找不到邀请。它就在那里,但似乎消失了。然后我发现它在App / Games / Activity选项卡中。
我设法通过在我的FB应用程序中添加Canvas来在“通知”选项卡中获取通知。我几乎想到了。好吧,不完全是......我想让朋友通过给定的数据链接访问我的页面而不是一些奇怪的数字。
所以我放弃了这条道路并尝试了另一种方式,并想出了这个:
for (var i = 0; i < mfsForm.friends.length; i++) {
if (mfsForm.friends[i].checked) {
var uid = mfsForm.friends[i].value;
FB.ui({
to : uid,
method: 'send',
name: 'Visit my page',
link: 'mywebsite.com/userlink'
});
}
}
这或多或少有效,但会为每个朋友生成一个带有空消息框的弹出窗口。不太友好,好吧......愚蠢:))
我也尝试了以前的设置,但我使用了“apprequests”而不是:
FB.ui({
method: 'send',
to: sendUIDs,
message: "Hey come on look at my site",
data: "mywebsite.com/userlink"
});
我为sendUID尝试了这个:[1,2,...]只有1,2,......
没有运气,因为FB只处理了一个名字。
我认为必须有办法完成工作,但是现在我很困惑如何继续。我认为FB可以让事情变得更容易一些吗?
答案 0 :(得分:2)
发送和共享对话框是为此而构建的(在墙上共享网站URL或将其发送给PM中的朋友),让他选择弹出窗口中的朋友。这样,您甚至不需要授权用户,也无法让所有朋友(只有那些授权应用程序的人)。
关于消息参数:您不能预先填写消息,必须是100%用户生成的。请参阅平台政策:https://developers.facebook.com/policy
2.3确保用户输入用户消息参数中的所有内容。不要预填。这包括帖子,消息,评论, 和字幕。
FB.ui对话框无论如何都会忽略消息参数。