【问题标题】:Facebook UID of 10-digits instead of 9-digits UIDFacebook UID 的 10 位而不是 9 位的 UID
【发布时间】:2012-06-13 18:00:07
【问题描述】:

在我的应用程序中,我需要知道用户的 Facebook uid。我通过使用 Facebook API for IOS 使用以下查询获得。

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"SELECT uid, name, email, pic, sex, timezone, religion, birthday_date, hometown_location, interests, about_me, locale, sports, relationship_status, languages, work, games, affiliations, current_location FROM user WHERE uid=me()", @"query",
                               nil];

....

fb_udid = [[result objectForKey:@"uid"] retain];
fbid = [fb_udid intValue]; // This int value is always 9-digit

所有用户始终获得九位标识符。 (总是九位数!) (www.facebook.com/123456789)

我的问题是这样的:有一个用户返回十位数的 uid,与正确的 uid 无关。

真正的用户 ID 是 9 位数字,而是说它是 10 位数字。

有谁知道我为什么不能正确解析标识符? 难道是用户删除了应用程序的权限? 有谁知道所有标识符都是九位数的facebook吗?

非常感谢您的帮助

【问题讨论】:

    标签: iphone ios facebook-graph-api facebook-fql uid


    【解决方案1】:

    有谁知道facebook的所有标识符是否都是九位数字?

    不,他们当然是不是

    而且您不应该在您的应用中将它们视为数字,因为可能存在 f.e. 的危险。整数溢出会破坏它们。

    【讨论】:

    • 据我所知,新注册的 facebook 会员有 10 位数的 uid。不过,我很困惑为什么这会对您的应用产生影响。
    • 就像我说的,将 FB uid 作为 INT 处理很容易出现问题(取决于平台)。将它们视为字符串。
    • 是的,我完全同意@CBroe。我只是想告诉 Adagio,较新的注册用户有 10 位数的 uid。如果您将它们作为字符串处理,则可以互换使用它们应该没有问题。
    • 问题是转换为整数。你是对的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2020-08-20
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    相关资源
    最近更新 更多