2012-11-07 2 views
0

나는 빠른 질문이 사용자의 성별을 얻을 수아이폰 OS 6.0 페이스 북 SDK 권한,

NSArray *permissions = @[@"email", @"user_birthday", @"gender"]; 
return [FBSession openActiveSessionWithReadPermissions:permissions 
              allowLoginUI:allowLoginUI 
            completionHandler:^(FBSession *session, 
                 FBSessionState state, 
                 NSError *error) { 
             [self sessionStateChanged:session 
                  state:state 
                  error:error]; 
            }]; 

나는 페이스 북 사용자의 성별을 묻는 것이고, NSLog 콘솔을 가지고있는 첫 번째 경우에 : 사용자 세션은 훌륭한 것을 발견했다. 그러나 권한을 확장하고 성별을 포함 시키면 UIAlertView와 함께 : 오류 작업을 완료 할 수 없습니다. (com.facebook.sdk 오류 2)

내가 뭘 잘못하고있는거야? 사용자 성별을 요청하는 권한을 요청하는 방법

답변

0

봐 - gender 그들 중 하나가 아닙니다 - 성별의 User object의 그러나 필드 당신에게 기본적인 권한을 부여하고있다 또한 사용자가 한 번에 액세스 할 수 있습니다 user FQL tablesex 열에 노출 데이터에 액세스하십시오. 단지 현재 사용자의 성별을 반환하는 SDK (무신론자)

샘플 쿼리는 단순히 /me?fields=gender 인 경우, 반환 값은 어느 사용자가 액세스 할 때 그것은 또한 기본 응답으로 반환 있다는

{ 
    "gender": "male", 
    "id": "533875325" 
} 

참고가 될 것입니다 따라서 명시 적으로 지정하지 않아도됩니다.

또한, 일부 사용자는 당신이 당신이 user.gender를 사용하여 액세스 할 수 없습니다

1

here에서 볼 수 있듯이 성별은 기본 정보의 일부입니다. 그리고 권한이있는 세션을 열 때마다 기본 정보를 묻습니다. 이미 가지고 있기 때문에, 페이스 북은 오류로 간주해야합니다.

그런데 사용자 이름을 묻는 데 같은 문제가있었습니다. list of permissions에서

1

성별의 공공 재산 아니다 (나는이 비교적 드문 생각하지만) 성별 정의, 그래서하지 않을 수 있습니다 user.name을 사용하면 여기에 사전이 있고 키를 전달하는 액세스 권한이 있습니다.

좋아 :

_genderLabel.text = [user objectForKey:@"gender"]; 

건배를

관련 문제