Dropbox SDK 401错误

时间:2012-08-23 07:19:09

标签: 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代码= 401"操作无法完成。   (dropbox.com错误401。)" UserInfo = 0x23263fe0 {path = /,error = Token is   无效。}

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

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

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