2016-01-25 65 views
1

我想通過用戶ID獲取Facebook的註冊日期。我想知道用戶的註冊日期,以計算用戶使用Facebook的時間。Android:如何獲取Facebook用戶的註冊日期

+1

一種方法是檢查給定用戶的個人資料圖片專輯的創建日期:[SO Q&A](http://stackoverflow.com/questions/4103911/facebook-api-when-user-created-facebook -account) – SaschaM78

+0

沒有辦法。 – WizKid

回答

0

您必須在developers.facebook.com中創建APP_ID才能實現此功能。以下是獲取登錄用戶基本信息的示例代碼片段,與您可以獲取用戶註冊日期的方式相同。

<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '<APP_ID>', 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 

    // Additional initialization code here 

    showMe = function(response) { 
     if (response.status !== 'connected') { 
     div.innerHTML = '<em>Not Connected</em>'; 
     } else { 
     FB.api('/me', function(response) { 
      var i=0; 
      for (var key in response) { 

      i++; 

      switch(i){ 
      case 1: document.getElementById("formId:id").value=response[key]; break; 
      case 2: document.getElementById("formId:name").value=response[key]; break; 
      case 5: document.getElementById("formId:link").value=response[key]; break; 
      case 6: document.getElementById("formId:userName").value=response[key]; break; 
      case 19: document.getElementById("formId:email").value=response[key]; break; 
      } 

      } 

     }); 
     } 
    }; 
    FB.getLoginStatus(function(response) { 
    showMe(response); 
    FB.Event.subscribe('auth.authResponseChange', showMe); 
    }); 
    }; 

    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 

有關其他信息,請參閱FB Rell site。他們正在提供API來實現這一功能。

+0

這並沒有回答這個問題... – luschn

+0

@luschn用戶需要獲取facebook用戶的基本信息。即,用戶的Facebook帳戶創建日期。以上代碼是獲取登錄用戶配置文件基本信息的示例。他可以以相同的方式獲得註冊日期。我只粘貼了javascript代碼,這個功能已經在JSF中實現了。檢查此鏈接http://stackoverflow.com/questions/20263746/warning-this-page-calls-for-xml-namespace-http-www-facebook-com-2008-fbml-dec –

+0

你剛剛提出了一個基本的教程javascript sdk(官方文檔的鏈接本來就足夠了),但是你不知道如何獲得註冊日期。用戶表中的註冊日期甚至沒有字段,這並不容易。 – luschn

1

沒有爲註冊日期沒有現場,但一個辦法是讓專輯及其創建日期:

me/albums?fields=type,created_time 

搜索與類型「牆」專輯,that's一個用對我來說最古老的日期(不是簡介專輯)。但其他帳戶可能會有所不同。但是,垃圾郵件賬戶通常會上傳一張照片,所以你也可以使用個人資料相冊的日期,我猜。

缺點:您需要授權用戶使用user_photos權限,並且您必須通過Facebook批准。我不認爲你會爲此獲得批准。

+0

user_photos將永遠不會被批准爲 – WizKid

+1

是的,這就是我的想法。畢竟這只是一種解決方法,而且您只能爲此獲取所有照片。 – luschn

相關問題