Dropbox SDK 401错误

BDG*_*pps 6 iphone objective-c dropbox

我正在使用Dropbox SDK并将其设置为应用程序只能访问/ Apps/MyAPP文件夹.我正在测试它并在线删除该文件夹.现在,当我在应用程序而不是要求重新链接Dropbox时,它给我一个401错误.我不知道它为什么不显示视图.它在我删除文件夹之前工作(在线取消链接应用程序).先感谢您.

PageFlipper [66893:c07] [警告] DropboxSDK:向/ 1/metadata/sandbox发出错误请求 - 令牌无效.2012-08-23 03:10:12.920 PageFlipper [66893:c07]加载元数据时出错:错误Domain = dropbox.com Code = 401"操作无法完成.(dropbox.com错误401.)"UserInfo = 0x23263fe0 {path = /,error =令牌无效.}

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

fre*_*tag 11

我有同样的问题.在我的情况下,问题是我在连接用户之前设置了restClient .在这种情况下,未设置userId且令牌无效.

我对restClient的getter现在看起来像这样:

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

    return _restClient;
}
Run Code Online (Sandbox Code Playgroud)


BDG*_*pps 0

我通过将代码更改为以下内容解决了该问题。

[[DBSession sharedSession] linkFromController:(UINavigationController *)[[appDelegate window] rootViewController]];
Run Code Online (Sandbox Code Playgroud)