2011-07-19 43 views
0

我需要使用javascript來檢查當前用戶是否是我的網頁粉絲。檢查當前用戶(會話)是否是我的網頁粉絲

我在這裏轉到https://developers.facebook.com/docs/reference/rest/pages.isFan/。在測試控制檯我不明白應用程序參數?

我使用此代碼下面,但它總是警告「你喜歡的應用」爲

window.checkDoesLike = function() { 
    FB.api({ method: 'pages.isFan', page_id: '138992766181857' }, function(resp) { 
    if (resp) { 
     alert('You like the Application.'); 
    } else { 
     alert("You don't like the Application."); 
    } 
    }); 
}; 
+0

對於您通過API提出的任何請求,應該有一個響應,這就是爲什麼它始終提醒您「您喜歡應用程序」。只需提醒(resp),然後根據響應數據編碼。 – Vijay

+0

在文檔「響應返回1或0」? – StoneHeart

回答

2

我寫這個here擴展教程任何用戶甚至客人。

有幾個點來突出:

  1. 你缺少使用if(resp)uid參數
  2. 不夠

更好的代碼:

FB.api({ method: 'pages.isFan', page_id: 'page_id_here', uid: 'user_id_here' }, function(resp) { 
    if (resp == true) { 
     alert('user_id likes the Application.'); 
    } else if(resp.error_code) { 
     alert(resp.error_msg); 
    } else { 
     alert("user_id doesn't like the Application."); 
    } 
}); 

報價:

再次,您需要檢查通話的響應,如果爲真或 不...使用if(resp)是不夠的! Facebook JavaScript Test Console中的示例有點令人誤解(類似的例子), ,因爲如果您不授予user_likes權限並僅嘗試 與uid:'579187141',則會導致用戶喜歡 應用程序是不正確的!
P.S:我只是減少了我的用戶ID,以獲得上面的用戶(它似乎是 ),他對他喜歡的頁面有嚴格的隱私保護!

+0

我如何獲取當前訪問者的用戶ID?我想檢查他們已經登錄Facebook的當前訪問者,而不是特定的用戶。 – StoneHeart

+0

@StoneHeart:好吧,如果你不傳遞用戶標識,它應該默認從會話中獲取它。嘗試使用我上面沒有提到的代碼,如果它不起作用,請確保你要求'user_likes'權限。 – ifaour

+0

如何授予權限以允許訪問喜歡? – StoneHeart

相關問題