我正在使用Facebook请求对话框显示我的朋友列表并邀请,这是在Facebook Web APP中,使用这个:
function sendRequestViaMultiFriendSelector() {
FB.ui(
{
method: 'apprequests',
message: 'Selección de amigos a los que invitar a KugaBar'
}, requestCallback);
}
function requestCallback(data) {
console.log(data);
}
它有效(正常)。
但是当我进入我的APP时,我需要识别用户,你看到request回调数据并看到一个"request",但是当用户点击通知并在APP中输入时
- 我不知道如何识别请求以检测用户是否正在通过通知进行访问。
编辑:好的,我找到了。
GET var 中的参数是"request_ids"的,但出现了一个问题,这个参数只有在用户之前接受权限时才会出现,如果用户单击通知并接受权限,按回车键:这个参数不存在,如果用户再次输入(不需要接受任何东西)这个参数存在于 URL 中。
有什么方法可以在用户第一次输入时获取此参数?
谢谢
当用户第一次点击请求时,您应该从 URL 获取request_id并将其存储在 cookie 中。用户完成登录后,检查 cookie 是否存在,然后相应地更新您的记录。
和请求在Facebook上不是一回事。在您的情况下,您谈论的是请求。请求 ID 作为 GET 参数"request_ids"传递给应用,该参数是逗号分隔的列表。
为了能够在登录对话框后访问此参数,您需要在重定向到 OAuth 对话框之前保存原始启动 URL 中的 GET 参数,并在重定向 URL 中传递它们。通过这种方式,您解决了所有未来GET参数的此问题。
如果你使用的是PHP,你正在寻找的函数是http_build_query。我强烈建议不要使用 cookie 来存储一次性且易于访问的 URL 参数。