2012-08-23 16 views
6

私はDropbox SDKを使用しており、アプリケーションは/ Apps/MyAPPフォルダにしかアクセスできないように設定しています。私はそれをテストして、フォルダをオンラインで削除しました。今私がアプリに入っているときに、Dropboxを再リンクするように頼む代わりに、それは私に401エラーを与えます。なぜそれが表示されないのか分かりません。フォルダーを削除する前に(アプリをオンラインでリンク解除していた)作業していました。前もって感謝します。Dropbox SDK 401エラー

PageFlipper [66893:C07] [WARNING] DropboxSDK: /1 /メタデータ/サンドボックスにエラー作る要求 - トークンが無効です。 2012年8月3日03:10:12.920 PageFlipper [66893:c07]メタデータの読み込み中にエラーが発生しました:エラー ドメイン= dropbox.comコード= 401「操作を完了できませんでした.(dropbox.comエラー401) UserInfo = 0x23263fe0 {パス= /、エラー=トークンが無効 ある。}

-(IBAction)addDropBox:(id)sender{ 
    if (![[DBSession sharedSession] isLinked]) { 
     [[DBSession sharedSession] linkFromController:[self parentViewController]]; 
    } 
    [[self restClient] loadMetadata:@"/"]; 
    restClient = nil; 
}; 

答えて

0

Iは次のようにコードを変更することによって問題を解決しました。

[[DBSession sharedSession] linkFromController:(UINavigationController *)[[appDelegate window] rootViewController]]; 
11

私は同じ問題を抱えていました。私の場合、問題は、ユーザーが接続されたの前にrestClient を設定したことでした。この場合、userIdは設定されず、トークンは無効です。

restClientのための私のゲッターは次のようになります。

- (DBRestClient *)restClient 
{ 
    if (_restClient == nil) { 
     if ([[DBSession sharedSession].userIds count]) { 
      _restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]]; 
      _restClient.delegate = self; 
     } 
    } 

    return _restClient; 
} 
関連する問題