6

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

PageFlipper[66893:c07] [警告] DropboxSDK:向 /1/metadata/sandbox 发出请求时出错 - 令牌无效。2012-08-23 03:10:12.920 PageFlipper [66893:c07] 加载元数据时出错:错误域 = dropbox.com 代码 = 401“操作无法完成。(dropbox.com 错误 401。)”用户信息 = 0x23263fe0 {path=/, error=Token 无效。}

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

2 回答 2

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;
}
于 2012-11-09T17:26:14.977 回答
0

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

[[DBSession sharedSession] linkFromController:(UINavigationController *)[[appDelegate window] rootViewController]];
于 2012-08-23T18:07:49.127 回答