SDKを使わずに、PHPファイル1つだけで動かしてみた【AmazonSP-API編】

SDKを使わずに、一からAmazonSP-APIの署名をつくりたい!

「いやいやSDK使えばえーやん」という声が聞こえてきそうです。
詳細は割愛しますが、「SDKを使いたくても使えなかった」、当時の職場の環境・状況からそうせざるを得なかった、というのが本当のところです。

Amazonの公式ドキュメントを読み漁り、先人たちの知恵をお借りするべく一日中Googleさんに貼り付いたりもしましたが、答えはなかなか見つからず。
詰みかけながらもなんとかPHPファイル1つにまとめあげ、現在はcronで毎日定期実行させて、かれこれ1年間くらい継続してデータを取得しています。(2023年6月現在)

環境は?

PHP 7.4で動作確認しています。
AWSでのアカウント生成・AWS IAMユーザーの作成・ロールの割り当て・アプリクライアントの追加等、APIを利用するための事前準備に関しては、こちらでは手順を記載していないので、ご自身での取得をお願いいたします。(下記参考)


クライアント シークレットの新しいルール

2023 年 2 月 6 日、すべてのアプリケーションの Login with Amazon (LWA) 認証情報 (クライアント シークレット) を 180 日ごとにローテーションする必要があることを発表しました。LWA 資格情報を定期的かつタイムリーにローテーションすることで、資格情報が漏洩または侵害された場合にアプリケーションの資格情報の有効期間が制限されます。180 日より古い LWA 資格情報は、2023 年 5 月 22 日までにローテーションする必要があります。

https://developer-docs.amazon.com/sp-api/

実際のコードはこちら

(すみません、だいぶ苦労したので、有償とさせていただきます)

こちらがコードになります。コピペと各種ID・トークン等の書き換え("XXXXXXX"の部分)のみで動くはず。

ここから先は

13,181字

¥ 2,980

この記事が気に入ったらサポートをしてみませんか?