我正在尝试确定用户何时加入 Facebook。 到目前为止,我想到的是扫描用户个人资料图片中的第一张(我似乎记得在早期,Facebook 强迫你上传个人资料图片)并从那里获取时间戳。 我也想对墙柱做同样的事情......
有人知道如何获取有关用户何时创建其帐户的最准确信息吗?
无法获取此字段,但许多应用程序所做的近似处理是拍摄“个人资料图片”相册中最旧的照片 - 对我来说,这距离我实际注册日期不到一周
我在想 - 也许 ID 会是一个有用的工具。每次用户创建新帐户时,它都应该获得更高的 ID。我用谷歌搜索发现有一种方法可以通过 ID 来估计帐户创建日期,metadatascience.com 的 Massoud Seifi 收集了一些关于它的好数据。
阅读这篇文章:
这里有一些要下载的 ID:
除了查看最旧用户的个人资料图片或相册(这并不总是有效),您还可以 通过查找最旧用户帖子的创建日期来估计 Facebook 帐户创建日期(您可以在此处找到一些用于执行此操作的代码)。
另一种方法解释于here。它展示了如何仅根据用户的 Facebook UID 来计算 Facebook 帐户的创建日期,而无需调用 Facebook API。您还可以在此处下载查找表,显示 Facebook UID 和 Facebook 帐户创建日期之间的相关性。
__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"];
https://digitalinvestigations.substack.com/p/how-to-find-the-creation-date-for 很好的链接,因为他们发现通过使用 id 作为市场概况进行搜索,您可以按年份获得估计创建帐户