Apple最近宣布OSX和iOS中提供访问Apple云平台的Cloudkit框架开放了Server-to-Server的web请求。这表明Apple解除了CloudKit公共数据库之前只能在iOS和Mac app到苹果的网站之间通信的限制。

CloudKit Server-to-Server的请求在已有的功能上增加了新特性,开发者可以通过这个功能提供一个供用户直接访问他们iCloud数据的web界面。Server-to-Server的请求旨在提供可以访问iCloud公共数据库的权限,也部分提供给开发者可以代替Parse DBaaS的另一个选择,因为Parse DBaaS平台最近宣布将要关闭服务。

为了从服务端进程或脚本读取Cloudkit公共数据库,开发者首先需要用OpenSSL生成一个秘钥对:

然后到 CloudKit dashboard,找API Access/Server-to-Server Keys将公钥与一个CloudKit容器绑定。一旦公钥被存储,会分配一个keyID,并且在web服务请求的子路径需要加上keyID。Apple提供了一些JavaScript代码示例演示如何使用新方法验证Cloudkit。特别是开发者需要构造一个包含三个参数的字符串:

上面的字符串在request中会用到,正如Apple提供的示例代码一样:

Stack Overflow上的一些开发者提供了JavaScript、PHP和Python的示例代码。

Cloudkit框架提供给开发者一些服务,包括认证,私有的和公共的数据库,结构化存储比如说基于plist的资源存储。

2 收藏


直接登录

推荐关注