2011-05-27 71 views
0

有沒有一種方法,使用新的Facebook API來檢測用戶是否登錄或不在Facebook上,與Facebook應用程序沒有任何關係?這應該都是在一個網站上的一個頁面上的客戶端JavaScript中完成的。新的Facebook API:使用getLoginStatus來檢測用戶是否登錄

詳細信息: 根據facebook文檔,如果「用戶已登錄並連接到您的應用程序」,getLoginStatus將檢測到用戶已登錄。另一方面,如果「用戶未登錄Facebook或未授權您的應用程序」,則會報告用戶已註銷。

對我而言,這意味着getLoginStatus將永遠不會在用戶第一次使用您的應用程序時工作,因爲任何用戶第一次使用您的應用程序時,他/她沒有授予您應用程序的任何權限。

此外,如果用戶登錄,用戶必須授予應用程序getLoginStatus才能工作的具體權限?我已經檢查權限名單(Facebook的API文檔上):

http://developers.facebook.com/docs/authentication/permissions/

,並沒有看到任何提及,涉及到這類檢測的任何許可。

這是我第一次使用Facebook API,這是非常令人沮喪的。我搜遍了互聯網,看起來普遍的共識是你根本無法檢測用戶是否登錄或註銷。

+0

你的意思是說,你需要檢查用戶的在線狀態,而無需人的權限你的應用? – 2011-05-27 01:25:07

+0

是的。當你聽起來像這樣,聽起來很可笑:)。因此,如果我們無法在未經許可的情況下檢查用戶的在線狀態,我們需要哪種權限? – Sam 2011-05-27 16:23:01

+0

由於Facebook框是一個iframe,無法訪問它的內容來了解​​這些信息。因爲它們不具有相同的域 – Mbarry 2011-06-08 14:51:21

回答

0

我發現,當非Facebook的用戶訪問該頁面,您可以檢查從signedRequest的人[年齡(這個信息不需要許可,據我測試過),它會同時擁有max and min property。

已登錄臉書用戶將只有一個分鐘財產,因爲這是他們的實際年齡。我相信這些信息是爲了提供受年齡限制限制的內容而提供的。

登錄的Facebook用戶然後授予訪問權限與您的應用連接將有一個用戶ID,因此您可以單獨檢測。

  • 匿名

    這從簽名的請求採取信息給3個用戶合衆國最大和最小年齡性質

  • Facebook的用戶:只有一個分年齡物業
  • Facebook用戶(誰給了權限):有一個用戶ID

請記住,Facebook可以隨時撤銷此功能,我真的只測試了一點。祝你好運。

相關問題