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 apprequest(使用javascript sdk)_Javascript_Facebook_Facebook App Requests - Fatal编程技术网

在用户被带到画布页面后删除Facebook apprequest(使用javascript sdk)

在用户被带到画布页面后删除Facebook apprequest(使用javascript sdk),javascript,facebook,facebook-app-requests,Javascript,Facebook,Facebook App Requests,我知道我需要在用户点击apprequests后删除它们,但我不知道如何使用Facebook的Javascript SDK来正确计时 现在,我可以让apprequests在创建后立即删除,这显然是不好的,因为apprequests在用户有机会点击它们之前就消失了 我如何检测用户是否接受了apprequest,以及将代码放在何处响应它? 此代码删除应用程序发送给当前用户的所有请求(将其放入默认页面) 这不是最好的,但因为我不熟悉你的编码,这就是我所做的一切 此代码仅在用户安装了您的应用程序时有效 &

我知道我需要在用户点击apprequests后删除它们,但我不知道如何使用Facebook的Javascript SDK来正确计时

现在,我可以让apprequests在创建后立即删除,这显然是不好的,因为apprequests在用户有机会点击它们之前就消失了

我如何检测用户是否接受了apprequest,以及将代码放在何处响应它?

此代码删除应用程序发送给当前用户的所有请求(将其放入默认页面)

这不是最好的,但因为我不熟悉你的编码,这就是我所做的一切

此代码仅在用户安装了您的应用程序时有效

<div id="fb-root"></div>

<script>
  window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'YOUR_APP_ID',                        // App ID from the app dashboard
      channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms
      status     : true,                                 // Check Facebook Login status
      xfbml      : true                                  // Look for social plugins on the page
    });

    // Additional initialization code such as adding Event Listeners goes here
  };

  // Load the SDK asynchronously
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
<script>

      FB.api('/me/apprequests', function(response) {
        var ids = [];
        for (var i=0, l=response.data.length; i<l; i++) {
          FB.api('/' + response.data[i].id, 'DELETE', Log.info.bind('clear requests'));
        }
      });

<script>

window.fbAsyninit=函数(){
//初始化FBJSSDK
FB.init({
appId:'您的应用程序\ ID',//应用程序仪表板中的应用程序ID
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//用于x域通信的通道文件
状态:true,//检查Facebook登录状态
xfbml:true//在页面上查找社交插件
});
//附加的初始化代码(如添加事件侦听器)如下所示
};
//异步加载SDK
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/all.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
FB.api('/me/apprequests',函数(响应){
var-id=[];

对于(var i=0,l=response.data.length;谢谢你-我已经看到了这个例子,但是我应该在我的代码中包含它吗?当用户接受apprequest时,我如何触发它发生?你是通过php编码的吗?不,我一直在使用Javascript SDK。你的应用程序中包含jquery吗?我知道了!!我没有让用户安装应用程序正确地说(我的流程将它们引导到了错误的位置),因此您确实是正确的。我必须后退几步才能找到放置删除请求的位置。