2012-12-09 3 views
3

iOS 5 앱에 Facebook SDK 3.1을 통합하려고합니다.Facebook 사용자 정보를 Facebook에 저장하는 방법 IOS App에 로그인

1 사용자는 단지 자신이 페이스 북에서 인증받을 기다렸하고 지금 : 페이스 북 로그인 후, 나는 지금이이 방법에 문제가있는 사용자 정보를

NSString *query = @"SELECT uid, name, pic_big,username FROM user where uid = me()"; 

NSDictionary *queryParam = 
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil]; 

[FBRequestConnection startWithGraphPath:@"/fql" 
          parameters:queryParam 
          HTTPMethod:@"GET" 
         completionHandler:^(FBRequestConnection *connection, 
              id result, 
              NSError *error) { .... 

를 얻기 위해 다음과 같은 쿼리가 그 후에 그는 기본 프로필 정보 인 을 웹에서 가져 오기 위해 다시 기다려야합니다.

-Q- Facebook 로그인 웹 전화로이 정보를 가져올 수 있습니까?

-2- FBSession은 여전히 ​​열려 Facebok 해당 사용자를 다시 인증합니다 유효하지만 난 아직도 ... 웹에서 자신의 기본
프로필 정보를 얻을해야하는 경우 사용자는 로그인 화면에서 응용 프로그램을 재개 할 때

-Q- 사용자의 기본 프로필 정보를 내 앱에 캐시하려면 어떻게해야합니까? FBSession 객체에 사용자 정보를 캐시 할 수있는 ID가 있습니까?

미리 감사드립니다. Moeen.

답변

0

1 사용자는 자신이 페이스 북에서 인증 및 지금은 단지 그 후 그는 자신의 기본 프로필 정보는 웹에서 가져올 수 얻을 때까지 다시 기다려야 얻기 위해 기다리고있다.

-Q- 어떻게 페이스 북 로그인 웹 호출로이 정보를 가져올 수 있습니까?

원래의 대기 시간은 올바르게 사용한 최소화해야한다. 로그인 요청에 API 호출을 "추가"할 수 없습니다. 페이스 북은 preload_fql 도구를 사용했지만 더 이상 지원하지 않습니다.

-2- FBSession은 여전히 ​​열려 있고 유효 Facebok 해당 사용자를 다시 인증합니다하지만 난 여전히 웹에서 자신의 기본적인 프로필 정보를 얻을해야하는 경우 사용자가 로그인 화면에서 응용 프로그램을 재개 할 때 ...

-Q- 사용자의 기본 프로필 정보를 내 앱에 캐시하려면 어떻게해야합니까? FBSession 객체에 사용자 정보를 캐시 할 수있는 ID가 있습니까?

응용 프로그램 디자인의 문제이다. 내 제안 클래스 속성으로 NSMutableDictionary 만들고 그것을 cached_user_data 또는 뭔가를 호출 할 것이라고. 거기에 사용자 데이터를 저장하십시오.

+0

안녕하세요 @ 토미 크래시 귀하의 의견에 감사드립니다. Q2와 관련하여 사용자의 데이터를 사전에 저장할 수는 있지만 ID가 필요합니다. 그리고 내 문제는 FBSession 객체에있는 어떤 ID도 현재 사용자와 관련 지을 수 없다는 것입니다. 내 앱은 다른 Facebook 사용자가 사용할 수 있으므로 FBSession에서 ID가 필요합니다. 사용자가 로그인하면 웹에서 다시 가져 오는 대신 캐시 사전에서 정보를 얻을 수 있습니다. –

+0

자신의 프로필 정보가 있으면 ID가 있어야합니다. ID로 모든 데이터를 캐시하면 로그인 한 사용자를 구별 할 필요가 없습니다. 캐시가 너무 크면 그 중 일부만 비워 두십시오. –

+0

facebook 사용자가 로그인 할 때 FBSession 개체를 얻은 다음 ID 및 기타 프로필 정보를 얻기 위해 웹 API 호출을해야합니다 (@ "SELECT uid, name, pic_big, 사용자 이름 uid = me()"). ..이 시점에서 나는 사용자 ID를 얻습니다 ... 그리고 내가 원하는 것은이 웹 API 호출을 피하는 것입니다 ...그리고이 웹 API 호출을 피하기 위해 FBSession 객체에서 현재 로그인 한 정보를 가져와야하므로 캐시에서 사용자의 프로필 정보를 보여줄 수 있고 다른 웹 API 호출을해야 할 필요가 없습니다. –

관련 문제