为了某种目的,我创建了一个单独的组件,通过这个新对象组织所有使用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方法,似乎一切都应该很好。
所以,当我在应用程序登录打开网址方法调用此:
if ([[DBSession sharedSession] isLinked])
,在这里应用程序输出Dropbox的链接,但是当我试图获得元数据根@“/”文件夹中(文件列表),并调用这个方法:
[self.restClient loadMetadata:folder];
APP输出这个错误:
[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方法。 –