如何使用 Facebook GRAPH API 删除 Facebook 评论帖子?

Posted

技术标签:

【中文标题】如何使用 Facebook GRAPH API 删除 Facebook 评论帖子?【英文标题】:How to delete a Facebook comment post using the Facebook GRAPH API? 【发布时间】:2011-05-15 13:27:29 【问题描述】:

我开始研究这个是因为我希望能够删除 Facebook 活动墙上的评论,因为“删除帖子”似乎不适用于活动墙上的 cmets。但是,由于我不知道是否有可能,我决定看看我是否可以手动删除我首先在自己的墙上发布的帖子,因为这是可能的。注意我使用任何 SDK;我只是在构建 URL 并在 Firefox v3.6.17 的地址栏中输入它。

自从我现在开始工作以来,这些帖子对我帮助很大: Delete facebook post with Graph API - trouble getting this to work 和 Facebook SDK and Graph API Comment Deleting Error

我可以通过以下方式查看评论数据及其所有字段:

https://graph.facebook.com/[POST_ID]?access_token=[ACCESS_TOKEN]  
`where [POST_ID] and [ACCESS_TOKEN] were got using the graph API.`

但是,我应该将“method=delete”命令放在 URL 的什么位置?我试着把它放在最后,比如

https://graph.facebook.com/[POST_ID]?access_token=[ACCESS_TOKEN]?method=delete 

但这会导致 OAuthException 声明“无效的访问令牌签名”,因为它似乎将该方法作为访问令牌的一部分来读取。

我试着把它放在 post_id 之后

https://graph.facebook.com/[POST_ID?method=delete?access_token=[ACCESS_TOKEN] 

但这会导致异常(不支持的方法),因为它认为“access_token=[ACCESS_TOKEN]”是被调用方法的一部分。

我看到上面引用的一篇文章指出,在使用删除时,我必须将用户 ID 添加到对象 ID

DELETE https://graph.facebook.com/673509687_104812882909249?access_token=access_token 
`where 673509687 is my userID and 104812882909249 is the objectID`  

但是当我进入时

DELETE https://graph.facebook.com/[POST_ID?access_token=[ACCESS_TOKEN]

在 Firefox 地址栏中,它无法识别它(我不认为它会)并将其用作 google 搜索查询。

如果我有comment_id 和access_token 使用网络浏览器,我如何删除评论?

【问题讨论】:

我再次尝试通过发送HTTP 1.1 DELETE方法使用程序发送HTTP方法并得到以下响应:"error":"type":"OAuthException","message":"(#200) The user hasn't authorized the application to perform this action"我错过了什么? 【参考方案1】:

你的网址有很大问题:

https://graph.facebook.com/[POST_ID]?access_token=[ACCESS_TOKEN]?method=delete

应该是:

https://graph.facebook.com/[POST_ID]?access_token=[ACCESS_TOKEN] & method=delete

同样,

https://graph.facebook.com/[POST_ID?method=delete?access_token=[ACCESS_TOKEN]

应该是:

https://graph.facebook.com/[POST_ID?method=delete  & access_token=[ACCESS_TOKEN]

所以你必须在输入参数之前使用,然后在每个参数之间使用&,并且顺序应该没有任何重要性..

【讨论】:

啊,谢谢。至少现在我可以用浏览器而不是单独的程序发送它。浏览器现在仍然返回相同的错误: "error": "type": "OAuthException", "message": "(#200) The user hasn't authorized the application to perform this action" 什么应用程序?我是否必须创建一个 FB 应用程序才能操作图表(删除评论)? @V.K.您在获取访问令牌时是否要求publish_stream 许可?它是发布/删除所必需的.. @dwarfy 我该怎么做?我刚刚从 developers.facebook.com/docs/reference/api 复制并粘贴了 access_token。我认为有不同级别的访问令牌? (提醒一下,我现在没有使用 SDK 或 Facebook 应用程序来做这些事情)。 根据access_token的权限"read_stream": 1是否需要access_token中的publish_stream权限才能删除对象?另一方面,groups.google.com/group/rpx-developers/browse_thread/thread/… 表示,一旦授予 read_stream,就可以发布帖子。 是的,您需要一个应用程序来操作 Graph API,否则任何人都可以编辑任何内容,而您将无法阻止他们:/

以上是关于如何使用 Facebook GRAPH API 删除 Facebook 评论帖子?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Graph API 获取家乡的 facebook 好友列表?

如何使用 Facebook Graph API 获取群组视频列表?

Facebook Graph API 分页如何工作以及如何使用它来迭代 facebook 用户提要?

如何使用 Facebook Graph API 编辑现有事件

如何使用 Graph Api 在 facebook 新闻提要中获取“新添加的照片到相册”

使用 Facebook Graph API 搜索用户