使用图表API从Facebook页面更新/删除选项卡返回“(#210)主题必须是页面。”

时间:2011-12-28 12:25:16

标签: facebook-graph-api facebook-page

我正在尝试从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(带有访问令牌)

有谁知道我做错了什么?或者是否有一个开放的错误报告?

非常感谢

3 个答案:

答案 0 :(得分:1)

我没有为您提供解决方案,但我知道我在删除标签时遇到了一些问题,该标签已经归结为标签的ID(通过调用get /PAGE_ID/tabs返回)包括页面ID和“标签”路径。

最初我是通过获取标签ID并将其粘贴在/PAGE_ID/tabs/的末尾来构建我的网址,但这不起作用,因为网址最终类似于/12345/tabs/12345/tabs/app_4567。一旦我意识到标签ID已经是“复合”,我就让删除工作了。

答案 1 :(得分: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);
      }
    }
);

答案 2 :(得分: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*/
    }