Facebook删除注释API问题(#200)应用程序没有足够的权限来执行此操作以删除注释

时间:2016-02-01 09:20:55

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我与用户登录我是facebook页面管理员。我使用这种方法编写api来删除帖子中的垃圾评论。

$scope.deleteComments = function (commentID) {
    if (confirm("Confirm Delete Comments")) {
        FB.api(
                "/" + commentID,
                "DELETE",
                function (response) {
                    console.log(response, commentID);
                    if (response && !response.error) {
                        /* handle the result */

                    }
                }
        );
    }
};

我按照“https://developers.facebook.com/docs/graph-api/reference/v2.5/comment”的说明操作。在我使用Facebook API之前,我使用此代码给出了Permission。

$scope.triggerLogin = function () {
        FB.login(function () {
            $scope.checkLoginState();
        }, {
            scope: "public_profile, publish_pages, manage_pages"
        });
    };

因此,当我使用deleteComments()函数时,我从facebook获取错误对象

  
      
  • 错误:对象
  •   
  • 代码:200
  •   
  • 消息:“(#200)应用程序没有足够的权限执行此操作”
  •   
  • 类型:“OAuthException”
  •   

有谁知道如何解决这个问题,谢谢。

1 个答案:

答案 0 :(得分:1)

您很可能不使用页面令牌,现在看起来您正在使用用户令牌。您必须使用页面令牌删除评论。使用/me/accounts端点(或特定页面的/page-id?fields=access_token)生成Page令牌,并在API调用中使用它:

FB.api(
    '/' + commentID,
    'DELETE',
    {access_token: 'your-page-token'},
    function (response) {
        console.log(response, commentID);
        if (response && !response.error) {
            /* handle the result */

        }
    }
);

有关令牌及其生成方式的更多信息: