在编码时,我开始想知道是否有可能在发送实际请求之前执行操作。
例如,我有一个代码:
FB.ui({method: 'apprequests',
title: 'The Challenge Game!',
message: 'I challenge you!',
}, challengeCallback);
我希望我的用户只能挑战一次朋友 - 这意味着,如果连接两个用户的数据库中存在挑战,则在第一个挑战完成或过期之前,不应创建另一个挑战。
因此,在挑选朋友和发送请求之间应该有一个函数调用。
但是我知道,在实际发送请求之前,我不会将用户fb_id。
在选择好友后,我总是可以提示我的用户,该特定人员的挑战已经存在并且正在等待中。但是,在他/她的收件箱中等待挑战的请求会发生什么?
有什么事情是我不能做的,可以创建我自己的朋友选择器吗?也许以某种方式改变FB.ui?
当您查看"请求"对话框的说明时,您会注意到参数 exclude_ids
,通过该参数,您可以指定将从多友元选择器中排除的用户 ID。
因此,如果您在数据库中查找您的用户已经向哪些朋友发送了请求,您可以将这些 ID 放在那里。
仅屈服:移动设备不支持此参数;因此,如果您针对这些参数,则可能必须寻找另一种解决方案(最有可能创建自己的多友选择器) - 但我现在不确定此限制是否仅适用于本机移动应用程序;也许在Web应用程序中使用JS SDK时,它也可以处理这些(文档中的措辞并不完全清楚)那个)。