2016-01-25 31 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

相关问题