Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 当用户进入你的应用程序时,如何获取通知ID_Facebook_Facebook Graph Api - Fatal编程技术网

Facebook 当用户进入你的应用程序时,如何获取通知ID

Facebook 当用户进入你的应用程序时,如何获取通知ID,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正在使用Facebook requestdialog显示我的好友列表和邀请,这是在Facebook Web应用程序中使用的: function sendRequestViaMultiFriendSelector() { FB.ui( { method: 'apprequests', message: 'Selección de amigos a los que invitar a KugaBar'

我正在使用Facebook requestdialog显示我的好友列表和邀请,这是在Facebook Web应用程序中使用的:

    function sendRequestViaMultiFriendSelector() {
        FB.ui(
        {
            method: 'apprequests',
            message: 'Selección de amigos a los que invitar a KugaBar'
        }, requestCallback);
    }
    
    function requestCallback(data) {
        
        console.log(data);
}
它工作(好)。 但是当我进入我的应用程序时,我需要识别用户,你会看到requestCallback数据并看到一个“请求”,但是当用户点击通知并进入应用程序时

  • 我不知道如何识别请求以检测用户是否通过通知进行访问
编辑:好的,我找到了。 GET vars中的参数是“request_id”,但是出现了一个问题,这个参数只有在用户之前已经接受了权限,如果用户单击通知并接受了权限,点击enter:这个参数不存在,如果用户再次输入(不需要什么都不接受)这个参数存在于URL中

是否有任何方法可以在用户第一次输入时获取此参数


谢谢

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

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

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


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

找到了“解决方案”:$requestUri=(!empty($\u REQUEST['REQUEST\u ids'))?TAB_URL.”?请求_id='$_请求['REQUEST_id']:选项卡URL;$loginUrl=$facebook->getLoginUrl(数组('scope'=>APP\u scope,'redirect\u uri'=>$requestUri));echo'window.top.location=“”.$loginUrl.“;”;若你们找到了答案,你们可以发布答案。如果你的一些问题没有解决,请详细说明?