Laravel + SPAの勉強を進めてます。
手始めに「Kindle Unlimited」対象の本を検索できるようなサービスを作成してみようとしています。
目次
経緯
最近Kindle Unlimitedに加入してみました。
が、Kindle Unlimitedの本って、Amazon公式サイトだとなんか検索しにくいと感じていまして、それなら、自分で、自分が使いやすい検索画面を作ってしまおうということで調査を開始しました。
Laravel用 AmazonAPIモジュールのインストール
探せばあるものですね。
laravel用のAmazon APIモジュールがあったので、プロジェクトに組み込みます。
https://github.com/kawax/laravel-amazon-product-api
コマンドは以下の通り。作成したLaravelプロジェクトのフォルダに移動して実行します。
composer require revolution/laravel-amazon-product-api
php artisan vendor:publish --provider="Revolution\Amazon\ProductAdvertising\Providers\AmazonProductServiceProvider"
.envファイルの編集
Laravelの.envファイルにAPI用の設定を追加。
COUNTRYは日本の場合、co.jpを指定することになります。
AMAZON_API_KEY=
AMAZON_API_SECRET_KEY=
AMAZON_ASSOCIATE_TAG=
AMAZON_COUNTRY=co.jp
とりあえず動かす
RESTApiコントローラを作成し、アマゾンAPIを読みだしてみます。
\routes\api.php
Route::resource('search', 'KindleSearchApiController');
\app\Http\Controllers\KindleSearchApiController.php
use AmazonProduct; // 追加
public function index()
{
//
$response = AmazonProduct::search('All', 'amazon' , 1);
return $response;
}
URLにアクセスしてみる
とりあえずレスポンスが取得できます
http://kus.test/api/search
Kindle Unlimitedの商品に絞ってみる
AmazonAPIでは、Node(分類のようなもの?)で商品を絞ることができます。
以下の記事で、AmazonAPIのnode一覧が確認できるので、Kindle Unlimitedのノード番号「4486610051」を得ることができます。
https://qiita.com/kobake@github/items/88001f62983211027f63
\app\Http\Controllers\KindleSearchApiController.php
public function index() {
//
// $response = AmazonProduct::search('All', 'amazon' , 1);
$response = AmazonProduct::browse('4486610051');
return $response;
}
終わりに
ひとまずAmazonAPIを利用してKindle Unlimitedに絞った商品を取得することができました。
Vue.jsと組み合わせれば、読み放題に特化した検索サイトが作れそうですね。
“Laravel用AmazonAPIモジュール” への1件のフィードバック
コメントは停止中です。