近日, Dropbox API V2 版正式发布,支持 Swift、Python、.NET 和 Java 开发者使用的4 个SDK。根据官方公告,API V2 版是一个“更简单、更稳定、更全面”的版本,目前 Dropbox API v2 版尚不支持 JavaScript 和 Objective-C。
Dropbox API v2 版一个最显著的变化是更为广泛地使用 HTTP POST,包括返回结构化数据的端点,例如获取一个当前账户的信息或者一个文件的元数据:
curl -X POST https://api.dropboxapi.com/2-beta-2/users/get_current_account \ --header "Authorization: Bearer <access-token>" \ --header "Content-Type: application/json" \ --data "null" curl -X POST https://api.dropboxapi.com/2-beta-2/files/get_metadata \ --header "Authorization: Bearer <access-token>" \ --header "Content-Type: application/json" \ --data "{\"path\": \"/cupcake.png\"}"</access-token></access-token>
所有的请求都通过 JSON 发起并在 JSON 里返回结构化数据。此外,函数中添加了一个新的、非标准错误代码来处理与调用有关的请求失败。Dropbox 认为优势在于,由于不是标准错误代码,在这种情况下,API 返回的 409 代码会被代理或者客户端库信任。
重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。
Dropbox API v2 版也引入了一些新特性,比如:
- 文件标识允许开发者标识出一个文件,即便这个文件被移除了也可以被当作替代路径使用。
- 共享链可以列出当前项和已取消项,虽然他们只能被提前创建。此外,开发者可以共享文件夹及其管理策略甚至成员权限。
- 一个新的 API 探测器允许开发者在浏览器里测试 API 调用来发现一些新特性。
目前在 Dropbox API v1 和 v2 版中尚不支持 files/download 范围标头特性。这是 Dropbox 原有计划的一部分。
如前所述,Dropbox API v2 版并不支持 JavaScript 和 Objective-C。起初,Dropbox 表示他们没有计划发布一个支持 Objective-C 的 API v2 版,因此开发者只能通过 Objective-C Swift 来实现互操作。另一方面,Dropbox API v2 版针对 Swift 的 SDK 看起来并没有解决好对 Swift 语言本身结构和枚举特性的兼容。相反地,对 JavaScript 的支持尚不清楚何时才能变得真正可用。
查看英文原文: Dropbox API v2 Launched for Swift, Python, .NET, and Java
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论