5

我正在使用 Facebook 请求对话框来显示我的朋友列表并邀请,这在 Facebook 网络应用程序中,使用这个:

    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时需要识别用户,你看到requestCallback数据并看到一个“请求”,但是当用户点击通知并进入APP时

  • 我不知道如何识别请求以检测用户是否通过通知访问。

编辑:好的,我找到了。

GET vars 中的参数是“request_ids”,但是出现了一个问题,这个参数只有在用户之前已经接受了权限的情况下才会出现,如果用户点击通知,并接受权限,按 Enter:这个参数没有存在,如果用户再次输入(不需要接受任何内容)此参数存在于 URL 中。

有什么方法可以在用户第一次输入时获取此参数?

谢谢

4

2 回答 2

0

当用户第一次点击请求时,您应该从 URL 中获取 request_id 并将其存储在 cookie 中。当用户完成登录后,检查 cookie 是否存在,然后相应地更新您的记录。

于 2013-02-14T15:44:41.473 回答
0

Facebook 上的通知请求不是一回事。在您的情况下,您正在谈论请求。请求 ID 作为 GET 参数“request_ids”传递给应用程序,该参数是一个逗号分隔的列表。

为了能够在登录对话框后访问此参数,您希望在重定向到 OAuth 对话框之前保存原始启动 URL 中的 GET 参数并在重定向 URL 中传递它们。通过这种方式,您为所有未来的 GET 参数解决了这个问题。

如果您使用的是 PHP,那么您正在寻找的函数是http_build_query。我强烈反对使用 cookie 来存储一次性且易于访问的 URL 参数。

于 2013-02-21T06:58:30.397 回答