请求多重选择器 - 我可以在实际发送请求之前进行操作吗?

时间:2013-09-08 11:57:30

标签: facebook facebook-javascript-sdk facebook-requests

编码时,我开始想知道是否有可能在发送实际请求之前执行操作。

例如我有一个代码:

FB.ui({method: 'apprequests',
    title: 'The Challenge Game!',
    message: 'I challenge you!',
}, challengeCallback);

我希望我的用户能够只挑战一次朋友 - 这意味着,如果连接两个用户的数据库中存在挑战,则在第一个用户完成或过期之前不应该创建另一个挑战。

因此,在挑选朋友和发送请求之间应该有一个函数调用。

但是我知道,在请求实际发送之前我不会获得用户fb_id。

在选择朋友之后,我总是可以提示我的用户,该特定人员的挑战已经存在并且正在等待处理。但是,在他/她的收件箱中等待受到挑战的请求会发生什么?

有什么我不能创造我自己的朋友选择器吗?也许以某种方式改变FB.ui?

1 个答案:

答案 0 :(得分:2)

当您查看the description of the Requests dialog时,您会注意到参数exclude_ids,您可以通过该参数指定将从多朋友选择器中排除的用户ID。

因此,如果您在数据库中查找用户已向其发送请求的朋友,您可以将这些ID放在那里。

Only cave-at:移动设备不支持此参数;因此,如果您要定位那些,您可能需要寻找另一种解决方案(最有可能是create your own multi-friend selector) - 但我现在不确定此限制是否仅适用于 native 移动应用;也许在网络应用程序中使用JS SDK时,它也适用于那些(文档中的措辞并不完全清楚)。