2

我正在尝试使用适用于 ios 的 Dropbox SDK 上传文件,我已正确设置框架,并与 Dropbox 帐户链接,但现在当我尝试上传文件时,我收到此错误:

[WARNING] DropboxSDK: error making request to /1/files_put/sandbox/DBApp.sqlite - (403) Forbidden
2013-08-28 15:07:12.418 MyApp[3761:c07] File upload failed with error - Error Domain=dropbox.com Code=403 "The operation couldn’t be completed. (dropbox.com error 403.)" UserInfo=0x11e77ef0 {sourcePath=/Users/Piero/Library/Application Support/iPhone Simulator/6.1/Applications/553ACC67-D119-44A9-B7E0-7188773AD496/Documents/DBApp.sqlite, destinationPath=/sandbox/DBApp.sqlite, error=Forbidden}

这是我使用的代码:

NSString *filename = @"DBApp.sqlite";
NSString *destDir = @"/";
NSString *oldPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"DBApp.sqlite"];
[[self restClient] uploadFile:filename toPath:destDir withParentRev:nil fromPath:oldPath];

任何人都可以帮助我吗?

4

3 回答 3

2

只是为了详细描述,我也遇到了同样的错误,并遵循了 Ray Wenderlich 教程网站上的示例项目。

我采取的步骤如下:

  1. 在 drop box 开发人员上注册(创建)您的应用程序。

  2. 选择 DropBox API 应用程序

  3. 选择子类型,即您的应用需要在 Dropbox 上存储什么类型的数据:文件和数据存储

  4. 选择适当的选项 您的应用程序可以限制在自己的文件夹中吗?

  5. 您的应用需要访问什么类型的文件?----> 选择特定的文件类型

要全面了解,请查看随附的快照:

在此处输入图像描述

于 2014-06-03T09:33:04.487 回答
1

我发现了问题,我在 Dropbox 页面中创建应用程序的类型帐户错误,我选择了仅数据存储,而不是我必须选择文件和数据存储,我删除了帐户,并创建了一个新帐户,并且知道上面的代码有效!

于 2013-08-28T13:23:49.253 回答
0

是的,我支持 Piero 的回答,另一个原因是访问令牌无效,所以我建议您在 appdelegate OpenURL 函数中添加 DBRESTClient 实例,这样,您的 appdelegate 类将具有类似 AppDelegate .m的内容 在此处输入图像描述

并在您的ViewController中,在 ViewDidLoad 方法中添加AppDelegate类中的 DBRESTClient 实例,您的 ViewController 将看起来像这样 在此处输入图像描述

这解决了问题并且工作正常

于 2014-03-20T07:26:16.550 回答