使用App Store Connect API获取应用报错ENTITY_INVALID咨询
解决App Store Connect API 400 ENTITY_INVALID(JSON processing failed)错误
错误原因分析
你遇到的ENTITY_INVALID + JSON processing failed错误,结合JWT验证正常(错误JWT会返回401)的情况,问题出在请求的格式不符合API的JSON处理要求,而非JWT签名本身。这里的“实体”指的是整个请求对象(包括HTTP头、隐含的格式约定),无效的部分大概率是缺少必要的HTTP头配置。
App Store Connect API要求请求必须明确声明接受JSON格式响应,同时部分场景下需要指定请求内容类型,否则服务器无法正确识别请求的预期格式,进而触发JSON处理失败的错误。
修正后的代码
在你的请求中添加Accept和Content-Type头即可解决:
let jwt = ... var request = URLRequest(url: URL(string: "https://api.appstoreconnect.apple.com/v1/apps")!) request.setValue("Bearer \(jwt)", forHTTPHeaderField: "Authorization") // 新增两个必要的HTTP头 request.setValue("application/json", forHTTPHeaderField: "Accept") request.setValue("application/json", forHTTPHeaderField: "Content-Type") let session = URLSession(configuration: .ephemeral) let task = session.dataTask(with: request) { data, response, error in if let error = error { print(error) } else if let data = data { print(String(data: data, encoding: .utf8)) } } task.resume()
额外排查点
如果添加头后仍报错,检查以下内容:
- JWT的Payload字段是否合规:确保
iss(Issuer ID)正确、iat(签发时间)为当前时间戳、exp(过期时间)不超过签发时间20分钟、aud固定为appstoreconnect-v1,任何字段格式错误都可能触发实体无效错误。 - 请求URL是否存在拼写错误:确认端点
v1/apps无拼写错误,若后续添加Query参数,需保证参数格式符合API规范。
内容的提问来源于stack exchange,提问作者Nickkk
相关产品推荐
相关产品推荐

