如何高效学习苹果App Store Connect API用法

苹果官方文档一直被开发者诟病的点:

1、大部分是英文文档;

2、没有示例,不知道请求参数怎么传,返回哪些字段,格式是什么样;

3、文档太复杂,接口太多,不知道某个功能,该用哪个接口。

最近由于要处理大量内购商品(查询、检验、上传、修改),就再次研究了一下《App Store Connect API》,无意中有一个重大发现,直接让学习效率翻倍------那就是通过抓包App Store Connect苹果后台的网页请求来学习App Store Connect API接口使用

我对比发现,App Store Connect苹果后台的网页请求和App Store Connect API接口请求,只有域名和path上的差异,苹果后台的网页请求换下域名就变成了App Store Connect API请求,就可以直接用了

例如,请求某个App(假设App Apple ID为1436123456)的所有内购商品接口(官方文档

苹果后台网页的请求
appstoreconnect.apple.com/iris/v1/app...

AppStoreConnectAPI的请求
api.appstoreconnect.apple.com/v1/apps/143...

我们可以看到,网页请求的url,在域名appstoreconnect.apple.com前面加上api.变成二级域名api.appstoreconnect.apple.com,再拼上/iris/路径,就变成了AppStoreConnectAPI接口了。

苹果后台网页请求url
appstoreconnect.apple.com/iris/...

AppStoreConnectAPI请求url
api.appstoreconnect.apple.com/...

当你想实现某个功能,但不知道该用App Store Connect API哪个接口,或者你不知道请求参数怎么传,响应参数有哪些、数据结构是什么样,你就去抓包苹果后台网页请求,寻找疑似接口,再去对比《App Store Connect API》官方文档,文章开头的问题2和问题3直接解决了

这个技巧堪称神技,苹果的接口设计有些反人类,你不这么做,光看官方文档还真搞不定。

举个例子,修改内购商品的本地化商品名称。你得根据商品本地化状态(区别于内购商品的状态,每条本地化都有个单独的状态)的不同调不同的接口:

当你内购商品本地化态为,"准备提交"、"等待审核" 时,你需要调 Modify an In-App Purchase Localization这个接口。

当你内购商品本地化态为,"被拒绝" 时,你需要调 Create an In-App Purchase Localization

同样是修改名称,"被拒绝"状态时,却要调"Create"接口,没想到吧!苹果官方文档上没有任何这方面的描述,多亏了我这个"神技"看苹果怎么调用的,这个问题我估计要蒙圈好久。

授人以鱼不如授人以渔,以前我写过几篇关于App Store Connect API的具体用法,但时间久了可能会过时,也存在不全面等问题,自己也没有精力维护。所以,教会大家自力更生,才是上上策。

作者历史文章:
《App Store Connect API 》
如何自动化获取AppStore的销售和趋势报告

相关推荐
JavinLu37 分钟前
ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示问题
网络协议·ios·ssl
G31135422732 小时前
免费苹果 Plist 文件在线制作 iOS IPA 安装工具
ios
SmalBox3 小时前
【节点】[Exposure节点]原理解析与实际应用
unity3d·游戏开发·图形学
2401_832298104 小时前
免费p12证书在线检测iOS苹果证书状态一键查询
ios
符哥20084 小时前
Swift 开发 iOS App 过程中写自定义控件的归纳总结
ios·cocoa·swift
pop_xiaoli5 小时前
effective-Objective-C 第二章阅读笔记
笔记·学习·ios·objective-c·cocoa
未来侦察班14 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
SmalBox15 小时前
【节点】[DiffusionProfile节点]原理解析与实际应用
unity3d·游戏开发·图形学
锐意无限20 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
符哥200820 小时前
用Apollo + RxSwift + RxCocoa搭建一套网络请求框架
网络·ios·rxswift