【发布时间】:2015-06-02 22:03:48
【问题描述】:
我正在使用 Facebook Javascript SDK,我正在尝试建立一个奖励系统来向朋友发送邀请。基本上,我想给用户积分,让他们使用 Facebook Javascript SDK 提供的朋友邀请对话框简单地向他们的朋友发送邀请。也就是说,我根据 FB 开发者网站上的 Friend Smash 教程设置了所有内容,并且我正在创建一个自定义的多朋友选择器来发送邀请。邀请对话框正确出现并且邀请正确发送。
发送邀请的 Javascript 如下所示:
function sendRequest() {
// Get the list of selected friends
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 + ',';
}
}
// Use FB.ui to send the Request(s)
FB.ui({method: 'apprequests',
to: sendUIDs,
title: 'Help me get some points!',
message: 'Help me get some points by coming over to XXX and registering to play!',
}, callback);
}
但是,当发送给一位朋友时,请求的响应对象如下所示:
{request: "412752342228182", to: Array[1]}
邀请两个朋友时是这样的:
{request: "414967121961627", to: Array[2]}
该对象包含“请求”字段,它是邀请的唯一请求 ID,正如预期的那样。 Facebook 文档指出,我应该在响应对象的“to”字段中获取收件人的用户 ID 数组,但那个奇怪的 Array[X] 却在那里。这是正确的反应吗?我错过了什么吗?
对此的任何帮助表示赞赏。在此先感谢您的时间。
【问题讨论】:
-
“基本上,我想给用户积分,因为他们只是简单地向他们的朋友发送邀请”——这是不允许的。最多,您可以奖励他们成功的邀请,即当他们的一位朋友接受请求并加入应用程序时。在继续之前,您应该阅读Platform Policies。
-
@CBroe - 是的,我在发布答案后立即发现了这一点,并且已经增加了奖励规则,不仅要注册,还要玩至少 1 场比赛。不过,请注意!
标签: facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk facebook-apps