2012-08-22 31 views
1

我很难找到有关如何使用JavaScript的好文档,以查明是否单击了某个按钮。我无法使用点击事件,因为当用户进入我的页面时,按钮可能已经被选中,但这似乎是关于跟踪喜欢外部(不包括不再支持的其他方法)的所有我可以找到的。任何人都有这种问题的经验?谢谢。Facebook Like Button - 它被检查?

+0

我确定API中有东西。如果没有,检查按钮是否有特定的'class'。 – Blender

+0

我试过看,但Facebook的API只是很难找到可靠的答案和/或示例(更不用说似乎还有很多过时的文档仍然存在)。我会看看是否有任何特定的课程应用,但乍一看似乎没有。 –

回答

0

它取决于Like按钮。如果它是一个具有ID Facebook的对象,你可以查询表(但你需要user_likes许可)

如果它是一个URL,它不是真的有可能:facebook graph api determine if user likes url [计算器]

它适用于built-in like您可以使用Cookie记住点击或将点击保存在您自己的数据库中。

0

只是为了扩大吉尔的答案。对于内置的喜欢,你可以使用批处理请求包括两个请求: 1)尽量想问题 物2)如果没有错误,删除等结合

示例批处理:

[{"method":"POST", "relative_url":"me/og.likes", "body":"object=<SOME_URL>", "name":"like-attempt", "omit_response_on_success": false}, 
{"method":"DELETE", "relative_url":"{result=like-attempt:$.id}"}] 

如果一个物体已经很喜欢,批量应答是:

[ 
    { 
     "code": 400, 
     "headers": [ 
      ... 
      { 
       "name": "WWW-Authenticate", 
       "value": "OAuth \"Facebook Platform\" \"invalid_request\" \"(#3501) User is already associated to the object object on a unique action type Like. Original Action ID: 143539809123515\"" 
      } 
     ], 
     "body": "{\n \"error\": {\n \"message\": \"(#3501) User is already associated to the object object on a unique action type Like. Original Action ID: 143539809123515\",\n \"type\": \"OAuthException\",\n \"code\": 3501\n }\n}" 
    }, 
    null 
] 

所以要检查,如果对象是喜欢,JSON.parse第一个响应体,并寻找与错误代码3501错误。请记住,实际的错误代码没有记录在任何地方,所以它可能会改变,虽然我不认为它是可能的。