しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

【Reporter】iTunesConnectの売上取得をID/Pass方式からAccessToken形式に切替

iTunesConnectの売上情報をAPIで取得する部分の修正をしました。
以前はID/Passwordを使った取得方式だったのですが、Appleから「ID/Password方式は2017年8月から使えなくなるよ」というメールが来たのでAccessTokenで取得する方式に変更しました。

ID/Passwordを使った方法

今までは下のようなコマンドで認証情報を取得していました。

{vendor_id}は、iTunesConnectの「売上とトレンド」の「売上とトレンドのレポート」のアカウント名の隣に表示されています。(2019年02月現在)

java -jar Reporter.jar p=Reporter.properties Sales.getReport [vendor_id], Sales, Summary, Daily, [日付(20170701など)]

認証情報はReporter.propertiesファイルに記載します。
これは上のコマンドを打つパスに配置してください。

userID/passwordはiTunesConnectにログインするID/Passwordです。

userID = [apple_id]
password = [password]

Mode=Robot.xml

SalesUrl=https://reportingitc-reporter.apple.com/reportservice/sales/v1
FinanceUrl=https://reportingitc-reporter.apple.com/reportservice/finance/v1

上コマンドを叩くと、S_D_[vendor_id]_20170630.txt.gzというファイルが作成されます。
解凍すると、以下のようなアプリの日時レポートが取得できます。

Provider Provider Country    SKU Developer   Title   Version Product Type Identifier Units   Developer Proceeds  Begin Date  End Date    Customer Currency   Country Code    Currency of Proceeds    Apple Identifier    Customer Price  Promo Code  Parent Identifier   Subscription    Period  Category    CMB Device  Supported Platforms Proceeds Reason Preserved Pricing   Client
APPLE   US  com.mydomain    DeveloperName   AppName 1   1   0   06/30/2017  06/30/2017  AUD AU  AUD xxxxxxxxxxxx    0                   Business        iPhone  iOS          

AccessTokenを使った方法

次は上のレポートをAccessTokenを使って取得します。
Reporter.propertiesのuserIDとpasswordを消してAccountとAccessTokenを追加します。

Account = [AccountNumber]
AccessToken = [AccessToken]

Mode=Robot.xml

SalesUrl=https://reportingitc-reporter.apple.com/reportservice/sales/v1
FinanceUrl=https://reportingitc-reporter.apple.com/reportservice/finance/v1

AccessTokenはiTunesConnectの「売上とトレンド」の「売上とトレンドのレポート」の右上にある「レポートについて」の右のハテナマークから生成します。
このトークンは半年で期限が切れるため、都度更新する必要がありそうです。

AccountNumberは、AccessTokenを記入後に以下のコマンドを実行することで取得できました。

java -jar Reporter.jar p=Reporter.properties Sales.getAccounts

以上でAccessTokenへの切り替えは完了です。

参考URL

Reporter User Guide 3.0