确定用户何时创建了Facebook帐户

时间:2011-09-07 11:19:42

标签: facebook timestamp account

我正在尝试确定用户何时加入Facebook。到目前为止,我所提出的是扫描第一个用户个人资料图片(我似乎记得在早期,Facebook强迫你上传个人资料图片)并从那里获取时间戳。我也想过和墙贴做同样的事情......

有没有人对如何获得有关用户何时创建其帐户的最准确信息有任何想法?

5 个答案:

答案 0 :(得分:12)

没有办法获得这个字段,但许多应用程序做的近似是在“个人资料图片”专辑中拍摄最老的照片 - 这对我来说是在我实际注册日期的一周内

答案 1 :(得分:5)

我在想 - 也许 ID 将是一个有用的工具。每次用户创建新的帐户时,都应该获得更高的ID。我用谷歌搜索,发现有一种方法可以通过ID来估算创建日期,而来自metadatascience.com的Massoud Seifi收集了一些关于它的好数据。 enter image description here

阅读这篇文章:

http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/

以下是下载的一些ID:

http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/

答案 2 :(得分:1)

除了查看最老的用户个人资料图片或相册(不能一直无效),您也可以 通过查找最早用户帖子的创建日期估算 Facebook帐户创建日期(您可以找到执行该here的一些代码)。

解释了另一种方法here。它显示了如何根据用户的Facebook UID计算出Facebook帐户的创建日期,而无需调用Facebook API。您还可以下载here查找表,显示Facebook UID与Facebook帐户创建日期之间的相关性。

答案 3 :(得分:1)

使用个人资料图片建议,我就是这样做的: 也许不是最好的方法,但这是我能用我的实际目标C知识做的最好的

__block NSDate *oldestPictureDate = [NSDate date];
[[[FBSDKGraphRequest alloc]  initWithGraphPath:@"me" parameters:@{@"fields": @"albums.fields(name,photos.fields(created_time))"}]
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
          NSArray* albums = result[@"albums"][@"data"];
          NSUInteger index = [albums indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
              return [obj[@"name"]  isEqualToString: @"Profile Pictures"];}];
          if (index != NSNotFound) {
              NSDictionary *profileImages = albums[index];
              NSDictionary *photos = profileImages[@"photos"];
              NSArray *data = photos[@"data"];
              for (NSDictionary *picture in data) {
                  NSDate* pictureCreationDate = [localDateYYYYMMDD dateFromString:[picture[@"created_time"] substringToIndex:10]];
                  if([oldestPictureDate compare:pictureCreationDate] > 0) oldestPictureDate = pictureCreationDate;
              }
          }
    }
 ];

localDateYYYYMMDD = [[NSDateFormatter alloc] init];
[localDateYYYYMMDD setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[localDateYYYYMMDD setDateFormat:@"yyyy-MM-dd"];

答案 4 :(得分:0)

如果您确实试图找到用户何时加入Facebook,我同意其他人的答案。

我能够找到的最好的方式(也是更便宜而不是重复通过大量的帖子)是访问最早的"个人资料图片"用户。这假设用户在创建帐户后很快就会发布个人资料图片。

为什么不只是使用个人资料图片相册? 一旦您可以访问"个人资料图片"相册,您可以使用created_time字段作为相册(或按照created_time为个别照片排序个人资料图片)。

即使删除了最早的照片,用户长时间没有任何个人资料照片的可能性有多大?

参考: https://developers.facebook.com/docs/graph-api/reference/v2.0/album