代码之家  ›  专栏  ›  技术社区  ›  Piero

使用Dropbox SDK为iOS上传文件,获取错误代码403

  •  2
  • Piero  · 技术社区  · 11 年前

    我正试图使用dropbox SDK for ios上传一个文件,我已经正确设置了框架,并与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];
    

    有人能帮我吗?

    3 回复  |  直到 11 年前
        1
  •  1
  •   Piero    11 年前

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

        2
  •  1
  •   halfer    4 年前

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

    我采取的步骤如下:

    1. 在Dropbox开发者上注册(创建)您的应用程序。

    2. 选择DropBox API应用程序

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

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

    5. 您的应用程序需要访问哪些类型的文件---->选择特定的文件类型

    为了充分理解,请查看所附的快照:

    enter image description here

        3
  •  0
  •   Super Xtreem    11 年前

    是的,我支持Piero的回答,另一个原因是访问令牌无效,所以我建议您在appdelegate OpenURL函数中添加DBRestClient实例,这样,您的appdelegate类就会有这样的东西 应用程序委派.m enter image description here

    在你的 视图控制器 从添加DBRestClient实例 应用程序委派 ViewDidLoad方法中的类,并且您的ViewController将看起来像这样 enter image description here

    这解决了问题,并且工作良好