参考にさせて頂いた記事はこちら。
Laravel用AmazonAPIモジュール – Sheltie's Garage
環境準備
Laravel用Amazon Product Advertising APIモジュールのインストール
まず、Laravel用Amazon Product Advertising APIモジュールをインストールします。
kawax/laravel-amazon-product-api
例によってcomposerで持ってきて、登録するだけです。
composer require revolution/laravel-amazon-product-api
php artisan vendor:publish --provider="Revolution\Amazon\ProductAdvertising\Providers\AmazonProductServiceProvider"
その昔、PECLとかのライブラリ使ってあれこれやってましたけど、言ってみればそれのフレームワーク版ですよね。環境は違えど考えることは同じです。便利なものは共有したいし。
.envファイルの設定
.envファイルを編集して以下の設定を追加します。
AMAZON_API_KEY=*****
AMAZON_API_SECRET_KEY=*****
AMAZON_ASSOCIATE_TAG=*****
AMAZON_COUNTRY=co.jp
API KEYは各自取得してくださいね。
(なんか最近審査が厳しくなってるみたいですけど)
以上で設定は終わりです。
ルーティングの設定
次はルーティングの設定。URIとしてはこんな感じで動くのを想定しています。
https://example.com/api/asin/B00C9QZNKU
routes/api.php
app/Http/Controllers/AmazonAsinApiController.php
これだけ。
これだけで、https://example.com/api/asin/B00C9QZNKU にGETリクエストを投げると商品情報がJSONで返ってくるようになります。
あとはそれをフロントエンドでごにょごにょすればOK。超簡単。
api.phpのとこ、showしか使わないならresourceである必要ないだろっていう気がビンビンにしますが、本当にこれしか機能がないならこれでもいいかも知れません。
まとめ
超簡単です。なるべくコードを書かなくて良いように出来てる。
フレームワークを理解していなかった昔は「そんなの関係ねー」とか言って俺俺コードを書いて満足してましたが、もうそんなの面倒くさくてやってられない体になってしまいました。その分他の開発に時間を割けるわけで、技術の進歩ってこういうことですよね、って日々思ってます。