일부 용도로이 새 개체를 통해 모든 Dropbox로 작동하는 싱글 톤을 만들었습니다.iOS dropbox api oauth_token 오류
그래서 나는 다음과 같이 초기화 코드와 다음 싱글을 가지고 : 당신이 볼 수있는 경우
- (id)init
{
self = [super init];
if (self)
{
self.cloudName = @"Dropbox";
DBSession* dbSession = [[DBSession alloc] initWithAppKey:DP_App_KEY
appSecret:DP_App_SECRET
root:ROOT];
[DBSession setSharedSession:dbSession];
self.restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
self.restClient.delegate = self;
}
return self;
}
내 싱글 init 메소드에 직접 DBSession을 초기화하기. 응용 프로그램 호출 init 메서드와 모든 것이 잘 작동해야합니다. 나는 응용 프로그램에 로그인 할 때
그래서 URL 열기 방법이를 호출
if ([[DBSession sharedSession] isLinked])
여기에 응용 프로그램 출력 보관이 연결되어 있는지,하지만 난 루트 @에 대한 메타 데이터를 얻기 위해 시도 "/"폴더 이 오류
[self.restClient loadMetadata:folder];
응용 프로그램 출력 : (파일 목록)이 메소드를 호출
[WARNING] DropboxSDK: error making request to /1/metadata/dropbox - (403) Parameter not found: oauth_token
2014-04-25 00:30:15.652 PDF-Notes[75257:70b] Error loading metadata: Error Domain=dropbox.com Code=403 "The operation couldn’t be completed. (dropbox.com error 403.)" UserInfo=0xb666600 {path=/, error=Parameter not found: oauth_token}
하지만 RER 때 한 번 더 Xcode를 통해 응용 프로그램을 취소하면 모두 잘 작동합니다. 또한 앱 위임에 DBSession
을 설정하면 작동합니다. 호출 메소드가 같은 방식으로 작동하기 때문에 실제로 싱글 톤에서 작동하지 않는 이유를 이해할 수 없었습니다. 그러나 응용 프로그램에서 DBSession
을 초기화하면 문제없이 작동합니다.
당신을 도움이 될 것입니다. 나는 또한 다른 방법을 추가하여 그것을 고쳤다. 처음에는 세션이 생겼고 나머지 클라이언트는 유효하거나 허가 된 세션과 일치하지 않는 세션으로 초기화되었으므로 나머지 클라이언트를 초기화합니다. 줄로 보였지만 괜찮습니다.하지만 호출 유형이 잘못되었습니다. 나는 데모 문제에 대한 싱글 톤 초기화와 init 메소드를 건너 뛴다. –