Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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
Php FB Canvas应用程序:获取请求id_Php_Facebook_Facebook Php Sdk - Fatal编程技术网

Php FB Canvas应用程序:获取请求id

Php FB Canvas应用程序:获取请求id,php,facebook,facebook-php-sdk,Php,Facebook,Facebook Php Sdk,用户已发送应用程序请求(使用本机fb.ui:apprequest)。当他的朋友打开通知(“xxx已邀请您使用应用程序”)时,URL如下所示: https://apps.facebook.com/app_name/?fb_source=notification& request_ids=THE_REQUEST_ID&ref=notif&app_request_type=user_to_user& notif_t=app_request 在此页面上,我的网页

用户已发送应用程序请求(使用本机fb.ui:apprequest)。当他的朋友打开通知(“xxx已邀请您使用应用程序”)时,URL如下所示:

https://apps.facebook.com/app_name/?fb_source=notification&
  request_ids=THE_REQUEST_ID&ref=notif&app_request_type=user_to_user&
  notif_t=app_request
在此页面上,我的网页显示在iframe中

以前,我可以在我的页面上(在iframe内)简单地调用:
$\u GET['request\u id']
来获取请求id(为什么?因为我需要跟踪谁发送了邀请)

然而,这不再有效。我几乎什么都试过了

根据facebook文档,我之前使用的解决方案是正确的。见: (向下滚动一点,转到PHP示例)

Facebook是否删除了此功能?那会很伤心,我想/希望不会

人们也有类似的问题(所有人都提出了解决方案,但该方案不再有效):

唯一的解决方案是传递邀请者用户id吗?(如中所建议)。如果是这样,那么当用户单击通知时,我可以检索它吗

编辑:

我还尝试使用:
exit(print\r($facebook->getSignedRequest(),TRUE))-哪个输出:

algorithm => HMAC-SHA256
issued_at => 1395696960
user =>
    country => dk
    locale => da_DK
    age =>
        min => 21
user_id => the_user_id (ONLY WHEN APP HAS ALREADY BEEN AUTHED IT SEEMS)

关闭,但没有雪茄。

我一直在寻找解决方案,我能得到的最好方法是对
/me/apprequests
进行API调用-它将返回来自应用程序的所有请求

我知道你仍然不知道你点击了哪一个(以防你收到多个邀请),但这是一个进步,直到FB排序它的东西

简单的JS示例:

FB.api('/me/apprequests', function(r){
    if (r && r.data) {
        for (var i = 0; i < r.data.length; i++) {
            var id = r.data[i].id.split('_')[0]; // this is the request id
            console.log(id, r.data[i]);
        };
    }
})
FB.api('/me/apprequests',函数(r){
if(r&r.data){
对于(var i=0;i
我最近也遇到了同样的问题。但问题不在facebook方面。这实际上是我们的Nginx服务器上的一个配置问题


我们在根页面上设置了重定向,它删除了facebook传递给canvas应用程序的所有cgi参数。修复Nginx配置后,一切正常。

这是正确的方法,我不知道有任何关于更改的公告。然而,Facebook正在推出一种新的页面“布局”(没有什么太大的变化,但有一些小的变化),我已经看到人们抱怨页面标签应用程序和
app\u data
参数没有被正确传递……所以我猜,他们可能在这个过程中搞砸了什么。我建议打开一个bug报告:谢谢。我填了一份报告!