18

iOS 기본 제공 프레임 워크를 사용하여 연결합니다."앱이 설치시 기본 읽기 권한을 요청해야합니다."

Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The app must ask for a basic read permission at install time." UserInfo=0x145ad6a0 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The app must ask for a basic read permission at install time.} 

이 무슨 일 것입니다 : "publish_stream" 권한을 요청하면, FB는 오류를 반환? 두 가지 사용자 권한 팝업 표시가 이상적인 사용자 환경입니다.

답변

17

처음으로 읽기 권한을 요청해야합니다. 모든 유형의 게시/쓰기 권한으로 사용자를 초기 인증 할 수는 없습니다. 그 후에해야 할 일은 앱에서 의미가있는 곳에서 publish_stream 권한을 요청하는 것입니다. 확실히 초기 허가를하지 말고 즉시 publish_stream 허가를 요청하십시오.

이 메모를 https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-3.0-to-3.1/에서 읽으십시오. "읽으려면 & 쓰기 권한을 별도로 지정하십시오."를 참조하십시오. iOS 용 Facebook SDK에도 적용되지만 기본 제공 프레임 워크에서 동일한 요구 사항을 확장 한 것입니다.

+0

@ "user_about_me"이 오류가 발생했습니다. 뭐가 문제 야 ?? – Stas

+0

이 오류가 발생하면 user_about_me 만 요청 하시겠습니까? 또한 사용중인 코드를 제공하면 도움이됩니다. –

+0

덕분에 문제가 이미 해결되었습니다. Facebook에 약간의 지연이있었습니다. – Stas

5

나는 페이스 북 문서의 추가 경고가 있음을 추가하고 싶습니다 :이 작업을 수행하는

// if a user has *never* logged into your app, you MUST include one of 
// "email", "user_location", or "user_birthday". Other read 
// permissions can also be included here. 

않으면 동일한 오류로 이어집니다.

4

최신 SDK (v3.5)에서는 권한 배열에 @ "basic_info"도 전달해야합니다. 이전에는 암시 적 이었지만 더 이상은 아닙니다. 당신이하지 않으면, 당신은 방법 워드 프로세서에서 메시지

[FBSession openActiveSessionWithReadPermissions:@[@"email", @"basic_info"] 
           allowLoginUI:YES 
          completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
           [self sessionStateChanged:session state:state error:error]; 
          }]; 

은 "이 앱은에서 설치시 기본 읽기 권한을 요청해야한다"얻을 것이다 : 나는 대한 부탁 해요

readPermissions - An array of strings representing the read permissions to request during the authentication flow. The basic_info permission must be explicitly requested at first login, and is no longer inferred, (subject to an active migration.) It is not allowed to pass publish permissions to this method.

관련 문제