爲了某種目的,我創建了一個單獨的組件,通過這個新對象組織所有使用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方法。 –