2012-08-22 29 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錯誤。請記住,實際的錯誤代碼沒有記錄在任何地方,所以它可能會改變,雖然我不認爲它是可能的。