2012-06-13 5 views
0

내 응용 프로그램에서 사용자의 Facebook UID를 알아야합니다. IOS 용 Facebook API를 사용하여 다음 쿼리를 사용하면됩니다. 9 자리 대신 10 자리 숫자의 UID 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 

모든 사용자는 항상 아홉 자리 식별자를 얻을. (항상 9 자리!) (www.facebook.com/123456789)

내 문제는 다음과 같습니다. 10 자릿수의 uid를 반환하는 사용자가 있으며, 그 사용자는 올바른 uid와 관련이 없습니다.

실제 사용자 ID는 9 자리이며 대신 10 자리 숫자입니다.

식별자를 올바르게 해석하지 못하는 이유를 알고있는 사람이 있습니까? 사용자가 응용 프로그램에 대한 사용 권한을 제거했는지 여부 모든 식별자가 9 자리 페이스 북인지 누가 알 수 있습니까?

는 당신의 도움을 주셔서 대단히 감사합니다

답변

1
모든 식별자 아홉 자리 숫자가 페이스 북의 경우

사람이 알고 있나요?

아니요 물론 그들은 이 아니고이 아닙니다.

그리고 f.e의 위험이 있기 때문에 앱에서 숫자로 취급해서는 안됩니다. 정수 오버플로가 손상됩니다.

+0

감사합니다. 더 많은 정보를 가지고 질문을 편집했습니다. – Adagio

+0

페이스 북의 새로운 등록 회원은 10 자리 숫자의 uid를가집니다. 나는 이것이 왜 당신의 앱에 차이를 만들지에 관해서 혼란스러워한다. – mkral

+2

내가 말했듯이, FB UID를 INT로 처리하는 것은 문제가 될 수 있습니다 (플랫폼에 따라 다름). 그것들을 문자열로 취급하십시오. – CBroe