AmazonPA-API5に移行で大騒ぎや

2020/1/26 [10:47:47] (日) 天気

amazonのAPIが2020年にバージョン5になります。

https://affiliate.amazon.co.jp/help/node/topic/GZBFW3F79Y7FADBL


…というのは薄っすら意識はあったものの、1/23に届いたメールタイトルに驚愕


「IMPORTANT UPDATE -

Upgrade to PA API 5.0 before PA API 4.0 shuts down on March 9, 2020」


この「PA API 4.0 shuts down on March 9,2020」はさすがに見逃さなかった。

これまでずっと使い続けていたAPIのまさかの終了のお知らせだ。


去年2019年は、売上のないアカウントはAPIの使用制限がかかるようになり(売上のないアカウントは実質使えなくなり)困ったなあ、と思いつつも、たまーーーに、ポツリとクリック→購入があって使える日もあったんだけど、今回のAPIの変更は、そんな呑気なことを言ってるヒマはない。

まったく使えなくなるのだ。


てことで対応しなきゃまずい。とてもまずい。かなりまずい。

慌ててamazonのwebサービスドキュメントページをざっくり確認。

https://webservices.amazon.com/paapi5/documentation/


ver4とver5ではまったく違う。別人となる。

https://webservices.amazon.com/paapi5/documentation/migration-guide/whats-new-in-paapi5.html

取得するデータが、今までずっと変わらずXMLだったのに、ver5からはJSONになる!!びっくりマークをつけてもつけたりないぐらい驚天動地だ。

…てことは、現状使っている自作のスクリプトは全面的に書き換えが必要となる。


SDKを使ってお手軽に、とか思って探してみたところ、ver5に用意されているSDKは、Java、Node.js、Python、PHPの4つ。なんでperlがないねんっ!!

確かamazonはフロントのWEB側はperlだったはずだろう。今どきのWEBサービスには珍しくperlのサンプルもずっと用意してくれていたってのに、だ(残るはPaypalぐらいか)


JavaもNode.jsもわからんちんだし、Pythonもこれからの主役はこれか、ぐらいの遠巻き。

PHPがどうにか少しはいじれるので、サンプルをダウンロードして、perlに移植してみた。

サンプルに入っているDefaultApi.phpでエンドポイントやオペレーション名を拾って、WithoutSDKのサンプルコードで署名込みのヘッダーを作れるようにした。

PHPはどこからグローバルというか、スコープというのか知らんけど、把握するのにあっちこっち行かなきゃわからないから好きじゃなかったんだ、てのを再認識。


さて、これでそれっぽいリクエストを作れるようになったはずなんだけど。

売上のないアカウントなので、試せない。

売上のないアカウントには用はないamazonだ。


作ったスクリプトを使って。

ローカルのPCでリクエストを投げると

439 TooManyRequests というステータスと、JSONでエラーメッセージが返ってくる。

試しにレンタルサーバーに上げてそこからリクエスト投げると

503 とHTMLのエラーページが返ってくる。

どうやらどちらも売上のないアカウントだから相手にされない、ということっぽい。


一応、レスポンスのサンプルは公式ページにある。

でもなあ、こういうのって実際に何が返ってくるのか確認できなきゃ難しいんだよなあ。


てことで、大慌てで昨日一日ごそごそやってみた感想というか所感というかなんちゅーかほんちゅーか。

基礎からわかる Python

『基礎からわかる Python』

坂本 俊之

APIとかクロールとかで検索するとPython本が上位にずらーっと。

インストールぐらいしていっちょかみしといたほうがええか…。


まあ、最悪はamazonのデータを利用してサービスを公開していて安定稼働している他サイトからデータをいただくというクズなことをすれば、わたしのサービスが止まることもないんだけどね。うーむ。

image
<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】