找出之前是否已经喜欢过开放图形对象

dor*_*nad 5 facebook-fql facebook-like facebook-graph-api

无论如何确定Open Graph中的对象是否已被喜欢?

文档似乎意味着我必须在我的对象上发布类似的操作,并且在之前已经被喜欢时期望错误3501.

从UI pov这没有意义,我想把我喜欢的按钮ui改为"不像"状态,而不必喜欢我的对象,看看它是否失败.

谢谢!

jem*_*ons 2

如果您专门在开放图谱上寻找点赞Object(如在开放图谱的目标中Action),并且您正在谈论内置(og.likes)点赞,那么肖恩的答案大多是正确的,但您需要寻找不同的FQL 表。

开放图谱只是一个解析为标头中Object包含元的页面的 URL 。og:typeFacebook 将这些视为link对象(您可以使用 进行检查SELECT type FROM object_url where url='http://url.to/your/object'

您可以在linklink_stat FQL 表中找到有趣的信息,但您要查找的是 Facebook 将用户喜欢与链接相关联的连接表:url_likes表。

因此,要判断当前用户是否喜欢给定的 Open Graph Object,您可以使用:

SELECT user_id FROM url_like WHERE user_id=me() AND url='http://url.to/your/object'
Run Code Online (Sandbox Code Playgroud)

如果你得到一个值回来,当前用户已经喜欢它了。如果你得到一个空数组,则当前用户不喜欢它。

据我所知,没有办法使用 Graph API 来做到这一点,只能使用 FQL。不过,我很乐意被证明是错的。