App Store Connect API的使用主要分为三步
1、在App Store Connect 里面创建密钥(要使用账户持有人的账号才有权限)
2、获取 JSON Web Token (JWT)https://jwt.io/
3、使用JWT生成的token发送请求
按照下图指示去生成密钥
然后点击➕号去生成密钥,之后下载生成好的密钥文件。
记得保存好,因为这个密钥文件只能下载一次。如果密钥丢失只能通过编辑撤销此密钥重新生成新密钥。撤销的密钥会显示30天。
此步骤主要生成下面三个有用信息
IssuerID
密钥ID
密钥文件
获取 JSON Web Token (JWT)
- 安装jwt
如果无法安装请更换源为:[https://gems.ruby-china.com](https://gems.ruby-china.com/)
sudo gem install jwt
- 获取JWT
创建ruby
脚本写如下代码
require 'base64'
require 'jwt'
ISSUER_ID = "828a67a2-29f8-4d8f-b1a6-26b123456789"
KEY_ID = "9Q2W123456"
private_key = OpenSSL::PKey.read(File.read("/Users/nelson/key/AuthKey_9Q2W265678.p8"))
token = JWT.encode(
{
iss: ISSUER_ID,
exp: Time.now.to_i + 20 *60,
aud: "appstoreconnect-v1"
},
private_key,
"ES256",
header_fields={
kid: KEY_ID
}
)
puts token
注意:ISSUER_ID 为密钥页面的Issuer ID、KEY_ID 为密钥ID、private_key 为密钥路径。生成的JWT有效时间只有20分钟,20分钟后需要重新获取。
发送请求
在获取到JWT之后,需要将JWT添加到请求头中,格式为:
curl -v -H 'Authorization: Bearer [signed token]' "https://api.appstoreconnect.apple.com/v1/apps"
将 [signed token] 替换为你获取到的JWT