如何在用户输入您的应用时获取通知ID

时间:2012-11-21 11:12:43

标签: facebook facebook-graph-api

我使用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时识别用户,y看到requestCallback数据并看到“请求”,但是当用户点击通知并输入APP时我不知道如何识别检测用户是否正在通过通知进行访问的请求。

编辑:好的我发现它,GET变量中的参数是“request_ids”,但是出现一个问题,只有当用户先前已经通过了权限时才会出现此参数,如果用户登录通知,则​​接受权限并且输入,这个param dosent存在,如果用户再次输入(不需要接受任何东西),这个param存在于URL中。

有没有方法在用户第一次进入时获取此参数?

有可能吗?

由于

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

要在登录对话框后访问此参数,您需要在重定向到OAuth对话框之前保存原始启动网址中的GET参数,并在重定向网址中传递它们。这样您就可以解决所有未来GET参数的问题。

如果您使用的是PHP,那么您正在寻找的功能是http_build_query。我非常不鼓励使用cookie来存储一次性且易于访问的URL参数。