App Store Connect APIをpythonで呼び出した

 

はじめに

発表された当時こちらの記事をみつつ、実装される言語のサンプルはrubyが多く、他での対応はあまり進んでない状況なのね、と。

https://togetter.com/li/1268268

Slackやchatworkのような情報を一元化したところで

スクリーンショット 2019-02-14 20.37.44

アプリ情報を追加したり、ユーザを追加したり削除したりってのを表示させたり、chatbotと対話して更新作業ができるかしら、とモヤモヤ。

API経由で自動化する有名どころには、ここ数年fastlaneが一番手かと思っていて、Appleが非公開にしているAPIを地道に探して更新されている昨日もありつつ

公式のAPIが顕在化した中、fastlane自体もその対応が迫られている状況があります。2FA認証は大きな契機になるかも?

私自身はCIでのビルドは、fastlaneに頼っていないので

どちらかといえば、ユーザ追加や削除を月次でチェックするような作業を自動化したいところです。加えて、テストユーザの追加削除。

App Store Connect API についてはこちらに仕様を確認しつつ、実装方針がrubyは嫌かな、程度に書きました。

https://developer.apple.com/documentation/appstoreconnectapi

 

コードを書くまえの準備

qiitaの記事をみました。

スクリーンショット 2019-02-14 17.56.38

https://qiita.com/kurikazu/items/135a791ba09121d7a534

issがなんの略なのか、kidに何をセットしたらいいのかまず迷いました。

詰まる。確信はない

ポイントはjwtでjsonでパラメータ類をぶん投げるところと、日本語が混じってる現実からjson.dumpsにensure_ascii=Falseを追加したところです。

公式ページのオススメは割とざっくりしすぎている印象。

スクリーンショット 2019-02-14 17.59.02

なんとなくpyjwt

スクリーンショット 2019-02-14 18.02.01

 

ユーザーの一覧引けた

スクリーンショット 2019-02-14 18.07.34

最後に

Slack用にデータ整形したり、諸々は続きますが、ざっくりとはこんな感じでした。

ちゃんと書いてる!な感じの私ではない人のコードも見つけてます。

https://github.com/Ponytech/appstoreconnectapi

まだまだ数が足りない感じなので、もっといい感じのコードを書く人が増えたらいいなと。

●この記事を書いた人