使用图表删除墙贴

时间:2011-10-14 17:53:21

标签: facebook-graph-api graph

我尝试使用图表删除粉丝页面上的墙贴。这似乎适用于某些帖子,但对于其他帖子,我得到一个誓言异常(#200权限错误)。我测试的帖子是非管理员,帖子是从Facebook(不是第三部分应用程序)制作的。我的应用具有publish_stream权限。有任何想法吗?我正在尝试为我的客户构建一个页面审核工具。

2 个答案:

答案 0 :(得分:1)

我已成功删除粉丝页面上的帖子,这些帖子由非管理员使用带有manage_pages,publish_actions和read_stream权限的页面访问令牌发布。您可能需要使用setExtendedAccessToken()或server side request获取扩展访问令牌,并使用它来获取page_token。

  

要获得更长寿的页面访问令牌,请将用户访问令牌交换为长期存在,如上所述,然后请求Page令牌。生成的页面访问令牌根本没有到期时间。

Extended page tokens.

我找不到支持下面代码的文档,但已经过测试可以使用。

try {
       $args = array(
                 'access_token' => $page_token
               );

       $deleted = $facebook->api('/'.$post_id, 'DELETE', $args);

} (catch FacebookApiException $e) {
       echo $e->getType() . " " . $e->getMessage();
}

如果您没有post_id,可以查询帖子:

 $facebook->api('/'.$page_id.'/posts?fields=id');

答案 1 :(得分:0)

在Facebook中,用户发布的对象或其他人在用户拥有的对象中发布的对象(指定访问令牌的持有者)只能被删除。这也是Facebook的正常行为。

请确保您尝试删除Facebook访问令牌所有者发布的对象。

EG。用户可以删除他的墙上的内容,他创建的事件,他人创建的事件中的其他人的评论或帖子,或者他在其他墙壁或对象中创建的评论或帖子。