2011-12-28 55 views
1

我想从Facebook页面中删除一个应用程序选项卡。 根据文档,我应该使用PAGE访问令牌向“https://graph.facebook.com/PAGE_ID/tabs/TAB_ID”发出DELETE请求,但是当我这样做时,出现错误“(#210)主题必须是一个页面。“ 尝试更新选项卡时发生同样的情况。 我已经向用户请求“manage_pages”权限,并且我拥有正确的access_token(添加标签完美无缺)。 确切的请求是:https://graph.facebook.com/212757048770606/tabs/app_289329597785433(带有访问令牌)使用Graph API更新/从Facebook页面中删除选项卡会返回“(#210)主题必须是页面。”

有谁知道我在做什么错?还是有一个开放的错误报告?

非常感谢

+0

请的呼叫不签自己的帖子。有关更多信息,请参阅http://stackoverflow.com/faq#signatures。 – Amy 2011-12-28 12:28:39

+0

您确定使用页面access_token进行删除(您从该用户的帐户连接获取该页面)吗?如果您使用用户的活动令牌,则通常会引发此错误。 – 2011-12-28 13:21:50

+0

是的,这与我用来添加选项卡(同一选项卡)的access_token相同。顺便说一句,该错误也出现在图形API资源管理器中... – 2011-12-28 13:52:30

回答

1

我没有你的解决方案,但我知道我有一些问题,去除归结为一个事实,即标签的ID(从调用返回得到一个标签/PAGE_ID/tabs)已包含页面ID和“选项卡”路径。

最初我通过选择标签ID并将其粘贴在/PAGE_ID/tabs/的末尾来构建我的网址,但这不起作用,因为URL最终成为像/12345/tabs/12345/tabs/app_4567之类的东西。一旦我意识到标签ID已经是“复合”了,我得到了删除工作。

0

页面访问令牌添加到Facebook的API

var PageAccessToken = 123456789123456789123456789123456789; 
FB.api(
    "/{page_id}/tabs", 
    "POST", 
    { 
     "object": { 
      "app_id": "{page_id}" 
     } 
    },{ 
    "access_token": PageAccessToken 
    }, 
    function (response) { 
     if (response && !response.error) { 
     console.log(response); 
     } else { 
     console.log(response.error); 
     } 
    } 
); 
0
function DeleteTabPage(){ 
     var pid = page_id; 
     var at = access_tocken;   
     debugger; 
     FB.api(pid + '/tabs/app_{your app id}', 'DELETE', { app_id: your app id, access_token: at }, function (response) { 
      debugger; 
      if (!response || response.error) { 
       debugger;`enter code here` 
       alert('Facebook add app error ' + response.error); 
      } else { 
       console.log(response); 
       debugger; 
       // alert('App has been added'); 
      } 
     }); /* end of page/tabs*/ 
    } 
+1

你能否给你的答案添加一个解释,这对更多的人有帮助? – Marki555 2016-07-13 18:12:24

+1

尽管此代码可能有助于解决问题,但提供 有关_why_和/或_how_的附加上下文,它将回答 该问题将显着提高其长期值 值。请[编辑]你的答案,添加一些解释。 – 2016-07-13 21:47:14

相关问题