如何在单个请求中“不像”内置?

时间:2012-10-16 03:35:08

标签: facebook facebook-graph-api opengraph

当您想要在开放图形对象上“不像”内置类似操作时,您必须发送具有类似故事ID的HTTP DELETE。但这需要:

  1. 在删除之前查询图表中的故事ID,或
  2. 存储首先创建类似内容时返回的ID。
  3. 这些都不是令人满意的解决方案。能够在一个请求中完成所有操作会很好,最好只有喜欢对象的URL。

    因为这会修改图形,所以必须使用Graph API,对吧? AFAIK,FQL仍然是只读的。

1 个答案:

答案 0 :(得分:2)

一半的战斗是找出一种方法,使用Graph API在给定喜欢对象的URL的情况下查找类似故事的ID:

GET http://graph.facebook.com/me/og.likes?object=http://url.to/your/object&fields=id

完成后,您可以在批处理查询中对其进行命名,然后使用JSONPath从DELETE请求中引用它(详细信息here在“指定请求中的操作之间的依赖关系”下):

POST http://graph.facebook.com/
batch=[
  {"method":"GET", "name":"like_id", "relative_url":"me/og.likes?object=http://url.to/your/object&fields=id"},
  {"method":"DELETE", "relative_url":"?id={result=like_id:$.data[0].id}"}
]