2012-06-13 24 views
0

在我的应用程序中,我需要知道用户的Facebook uid。我通过使用以下查询使用Facebook API for IOS获得。10位数字而不是9位UID的Facebook UID

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)

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

真实的用户ID是9位数字,而是表示它是10位数字。

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

非常感谢您的帮助

回答

1

有谁知道,如果所有的标识符都是九个位数的Facebook?

不,当然他们是而不是

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

+0

谢谢,我编辑了更多信息的问题 – Adagio

+0

据我所知,Facebook的新注册会员有10位数的uid。我很困惑,为什么这会让你的应用程序有所不同。 – mkral

+2

就像我说的那样,将FB uid处理为INT可能很容易出现问题(取决于平台)。把它们当作字符串。 – CBroe