有没有办法用facebook API删除照片标签?

时间:2013-05-29 02:32:18

标签: facebook api facebook-graph-api

有一些与此主题相关的旧帖子,但API已经发生变化,所以我想再问一次。有没有办法用Facebook API删除照片标签?

我看到了有关使用图表API删除照片代码的文档 https://developers.facebook.com/docs/reference/api/photo/#tags

  

您可以通过向/ PHOTO_ID / tags / USER_ID或PHOTO_ID / tags?发送HTTP DELETE请求来删除照片中特定用户的标记= = USER_ID。

     

删除照片上的标签需要具有publish_stream权限,并支持以下参数。

Parameter    Description                                Type    Required

to           USER_ID of the User to tag; can also be    string  yes
             provided in URL path (see above).       
     

如果删除成功,您将收到以下回复。

Description                 Type

If the deletion succeeded   boolean

我尝试时没用。相反,我总是得到以下错误:

{
  "error": {
    "message": "(#3) Application does not have the capability to make this API call.", 
    "type": "OAuthException", 
    "code": 3
  }
}

我向Facebook提交了一个错误报告,他们似乎通过将其置于“分类”状态来承认错误。几个星期后,虽然其他几位开发人员已经订阅了错误报告,但他们用这个解释结束了案例:

  

我们根据对开发者社区的影响确定错误的优先级。由于这个错误报告没有得到其他开发人员的太多关注,我们正在关闭它以便更好地关注最重要的问题。您的问题很可能是由于实施问题造成的,在这种情况下您可以尝试在Stack Overflow上找到帮助。

错误报告在这里:https://developers.facebook.com/bugs/122135101317762

任何人都可以帮我弄清楚如何通过API取消标记?我的应用程序目前是作为Web应用程序编写的,而不是移动应用程序。

提前感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:5)

更新:正如Christopher Blizzard在accepted answer中解释的那样,这实际上并不是一个错误,而是以前记录错误的故意行为。 < / p>

在此之前,当这个答案第一次发布时,我调查了一下,试图找出是否有任何解决方法。答案是不。我已经在下面留下了我的发现的详细信息,以防将来对任何人感兴趣,但Christopher Blizzard的输入使得大部分内容都过时了。

我有理由相信答案是否定的,根本没有办法。我已经筋疲力尽了我能想到的所有可能的调查线,并且空白了。让我列出我的发现:

1)该错误会影响删除the documentation中列出的照片标记的两种方式。

根据文档,向https://graph.facebook.com/PHOTO_ID/tags/USER_ID/发送删除请求并向https://graph.facebook.com/PHOTO_ID/tags?to=USER_ID发送一个请求都应该有效。但是,实际上,正如您已经观察到的那样,两种方法都会因以下错误而失败:

{
  "error": {
    "message": "(#3) Application does not have the capability to make this API call.", 
    "type": "OAuthException", 
    "code": 3
  }
}

2)它与你的应用程序的权限无关

使用Graph Explorer,您可以使用授予您所有可能权限的访问令牌轻松测试此内容,删除代码仍然失败。

3)与用户的隐私设置

无关

我尝试在Facebook上创建新用户,并将设置菜单中的每个隐私设置设置为最宽松的选项。它没有任何区别。

4)这与照片所有者或原始标签的创建方式无关

即使您正在使用其访问令牌的人拥有该标签所在的照片并自行创建了该标签,但在尝试删除该标签时仍会出现相同的错误。这适用于他们是通过普通Facebook用户界面创建照片和标签,还是通过图谱API创建应用程序。

5)使用Graph

以外的API没有解决方法

FQL仅允许数据检索,而不是插入,修改或删除。 Open Graph没有与照片或照片标签相关的方法。不推荐使用的REST API - 它仍然可用,但Facebook指示我们不使用它们的文档已被删除 - 具有获取和添加标记的功能方法,但没有删除它们,正如您在{{ 3}},通过Wayback Machine。

6)似乎没有办法使用POST请求删除标记。

您可以更改现有标记的位置,但就是这样。指定无效位置会引发错误,并且不会影响现有标记。在post请求中指定to字段两次以尝试更改标记的目标会引发错误并且无效。

7)其他人之前曾试图解决同样的问题,但他们没有成功。

我没有找到很多关于这个问题的帖子,但是有这两个,这两个都没有帮助:


在测试了上述所有要点之后,我没有想法。当然,我无法肯定地说这是不可能的 - 我们不知道Facebook的后端发生了什么,或者为什么这个bug存在。我认为这些测试代表了对问题的彻底检查,但他们没有透露任何解决方案。

答案 1 :(得分:2)

我刚刚在developers.facebook.com上更新了the documentation,但简短版本是删除标记API仅针对某些应用列入白名单。