WWDC 2018 —自动化应用商店连接— 303
摘要:了解一些应用商店连接api。 用户邀请工作流程。 处理关系。 使用Apple服务器验证呼叫。
最佳实务
- 保护您的私钥-保留在内存中
- 重用令牌-有效期由我们控制
- 使用api响应中存在的链接-它确保代码可动态适应未来的变化
App Store Connect API
- 基于标准的—具有JSON响应的基于REST的API。
- 安全-使用JWT(JSON Web令牌)
- 一致-单一统一资源模型,链接到相关信息
- 已记录-API已在同一developer.apple.com中记录
此版本中包含什么
- TestFlight —管理测试人员和组,提交以供审查,公共链接
- 用户和角色-添加和删除用户-分配角色-管理有限的应用访问权限
- 设置-添加开发设备,注册捆绑包ID,创建证书,管理配置文件
- 报告-下载销售和财务报告,轻松从Reporter切换
- 传输器更改-Linux支持,API令牌
使用API的
基于REST的标准网址格式:host / api_version / resource_type / identifier?filter [attribute_name] = atrribute_value
API示例:
-http : //api.appstoreconnect.apple.com/v1/users/17cbd794-94a3-c7b0-1051-http ://api.appstoreconnect.apple.com/v1/users?filter [ email]= john - appleseed@ mac.com
支持的方法:
+ --------------------------------------- + -------- +
| 获取资源或资源列表| GET |
| 创建资源| 发布|
| 更改资源| 补丁|
| 删除资源| 删除
+ --------------------------------------- + -------- +
请求和响应的资源模型:
错误模型
标准用户生命周期
- 发送邀请给用户— POST / v1 / userInvitations
- 用户按照现有方式接受邀请。
- 更改用户角色-PATCH / v1 / users / 24e811a2–2ad0–46e4-b632
- 删除用户-DELETE / v1 / users / 24e811a2–2ad0–46e4-b632
处理关系
由于API基于REST,因此我们需要一个可用于处理关系的URL。 因此,任何可以具有关系的对象在响应中都有一个表示该关系的URL。
添加/修改/删除测试器: 自密钥/ v1 / betaGroups / 55099ada-d790–4db1-bea5 / relationships / betaTesters中的url代表ID为55099ada-d790–4db1-bea5的betaGroup具有betaTesters。
获取测试人员: 相关密钥/ v1 / betaGroups / 55099ada-d790–4db1-bea5 / betaTesters中的url代表id为55099ada-d790–4db1-bea5的betaGroup具有betaTesters。
获取测试人员及其数据:在URL中添加?include = betaTesters
访问和认证
创建API密钥 -登录到App Store连接,管理员用户可以看到一个新标签。
密钥只能下载一次并在点击时生成,而不是由Apple存储,必须由您管理,并且密钥永不过期
生成JSON Web令牌
+ ------------------------------------------------- --------- +
| 生成令牌所需的内容 |
+ ----------------- + ---------------------------- +- --------- +
| 领域 价值| 用法
+ ----------------- + ---------------------------- +- --------- +
| 发行人编号| 在App Store Connect中找到| 您的团队|
| 私钥ID | 在App Store Connect中找到| 此键|
| 到期时间| 过期时间戳| <= 20分钟|
| 观众| “ appstoreconnect-v1” | 常数|
| 算法| “ ES256” | 常数|
+ ----------------- + ---------------------------- +- --------- +
存在许多JWT库来生成令牌
使用API发送令牌
下一个:
转到目录
Previous:使用Xcode和LLDB进行高级调试— 412