iTunesConnectの販売レポートを取得する
iTunesConnectで取得できる日別のダウンロード数などを取得するツールがAppleから提供されていて、 これを使って日別のダウンロード数レポートを取得する。
少し前まではAppleIDとパスワードで認証していた(!)が最近AccessTokenを使う方式になった。 というかToken切れているの忘れて一月ほど放置してたのでTokenの自動更新まで出来ると嬉しいな。の記録です。
Reporterのダウンロード
Reporter User Guide 2.4 によるとv2.2が最新らしい(2018/05/22現在)
https://itunespartner.apple.com/assets/downloads/Reporter.zip
ダウンロードしたzipファイルを回答すると本体のjarファイルと設定を書くpropertiesファイルが出てくる。 適当な所に展開しよう。
動作にはJava1.6以上が必要。なければ用意する。
AccessTokenの取得
設定前に必要なAccessTokenを取得する。
java -jar Reporter.jar p=Reporter.properties Sales.generateToken
プロパティは解凍後のデフォルト状態でよい。がファイル自体が無いと駄目。空でも駄目だった気がする。おそらくSalesUrlやFinanceUrlが必要なのではないか。
また、今回はSalesリポートのみだが、Financeリポートも取得する場合でもAccessTokenは一つで良いらしい。
設定
AccessToken=[アクセストークン] Mode=Robot.xml SalesUrl=https://reportingitc-reporter.apple.com/reportservice/sales/v1 FinanceUrl=https://reportingitc-reporter.apple.com/reportservice/finance/v1
AccessTokenに取得したアクセストークンを設定する。
Modeはレスポンス形式。Robot.xmlでXML形式のレスポンスを得られる。Normalで値だけ?の平文レスポンスが得られるが使いにくい気がする(個人の感想)
VenderIDの取得
VenderIDを取得する。
java -jar Reporter.jar p=Reporter.properties Sales.getVendors
レポート取得
VenderIDは上記で取得したVenderID。
日別の取得の場合。週別の場合はDailyの部分をWeeklyにする。(日付指定部分も変更が必要なので詳細はドキュメント見て欲しい)
DATEはyyyyMMdd形式の日付(UTC?)。
java -jar Reporter.jar p=Reporter.properties Sales.getReport ${VenderID}, Sales, Summary, Daily, ${DATE}
指定された日付のレポートがgzip形式でダウンロードされてくる。 中身はタブ区切りのテキストファイルなので解凍して必要な処理をする。