2013-08-28 61 views
2

我试图上传一个文件使用Dropbox的SDK的ios,我已经正确安装框架,并与Dropbox帐户的链接,但现在当我试图要上传的文件我收到此错误:用Dropbox SDK上传文件的iOS获取错误代码403

[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]; 

任何人都可以帮我吗?

回答

1

我发现问题了,我在保管箱页面中创建应用的类型帐户时出错,我选择了Datastore Only,而不得不选择文件和数据存储,我已删除该帐户,并创建一个新的,并知道上面的代码作品!

+0

我觉得你的描述中还是有一些东西没有... .... @Piero – Kamarshad

0

雅我支持皮耶罗的答案,另一个原因是访问令牌是无效的,所以我建议你在你的appdelegate的OpenURL功能添加DBRestClient实例,这样,你的AppDelegate类都会有一些像这样的事情 的AppDelegate .M enter image description here

,并在您的ViewController的AppDelegate类中添加DBRestClient比如在viewDidLoad方法和你的ViewController将看起来像这样 enter image description here

这样就解决了问题,工作得详细使用说明精细

1

.....

我也得到同样的错误,并遵循示例项目形成射线wenderlich教程网站。

步骤是我过的有如下,

1)寄存器(创建)您的下拉框,开发者的应用程序。 2)选择的Dropbox API应用

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

4)选择相应的选项可以将应用局限于它自己的文件夹?

5)什么类型的文件没有您的应用程序需要访问?---->选择特定的文件类型

正确理解看看连接快照......

我希望对别人有所帮助...... enter image description here