Python API:DeviceCheck,状态代码:401,消息:无法验证授权令牌
我正在将JWT和所需的有效载荷提交给https://api.development.devicecheck.apple.com/v1/validate_device_token.然而,苹果的开发设备检查服务器总是返回http响应401-无法验证授权令牌 我正在跟踪为API请求生成令牌 并通过Python API:DeviceCheck,状态代码:401,消息:无法验证授权令牌,python,ios,Python,Ios,我正在将JWT和所需的有效载荷提交给https://api.development.devicecheck.apple.com/v1/validate_device_token.然而,苹果的开发设备检查服务器总是返回http响应401-无法验证授权令牌 我正在跟踪为API请求生成令牌 并通过 curl -v -H 'Authorization: Bearer [signed token]' "https://api.appstoreconnect.apple.com/v1/apps&
curl -v -H 'Authorization: Bearer [signed token]'
"https://api.appstoreconnect.apple.com/v1/apps"
那么服务器返回状态代码是200。但是使用APIDeviceCheck服务器总是返回https响应
https://api.devicecheck.apple.com/v1/validate_device_token
这是我的密码:
now = int(time.time())
expire_time = now + 20 * 60
HEADERS = {
"alg": "ES256",
"kid": kid,
"typ": "JWT"
}
PAYLOAD = {
'exp': expire_time,
'iss': iss,
'aud': "appstoreconnect-v1"
}
jwt_token = jwt.encode(PAYLOAD, private_key, algorithm='ES256', headers=HEADERS).decode('utf-8')
auth = 'Bearer {}'.format(jwt_token)
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': auth
}
response = requests.get(
'https://api.appstoreconnect.apple.com/v1/apps',
headers=headers
)
print(response.status_code)
print(response.text)
request_file = '.../ValidateDeviceTokenRequest.json'
data = None
with open(request_file) as json_file:
data = json.load(json_file)
data['timestamp'] = (now) * 1000
response = requests.post(
'https://api.devicecheck.apple.com/v1/validate_device_token',
data=json.dumps(data).encode(),
headers=headers
)
print(response.status_code)
print(response.text)