GASで楽天市場ランキングAPIで人気商品情報の取得方法を解説
楽天が運営する楽天市場や楽天トラベルには、プログラムで情報を取得できる各種APIが用意されています。
楽天市場人気ランキングAPIを使い、Google Apps Script(GAS)で人気商品の情報を取得する方法を解説します。
楽天サービスには各種APIが用意
ECで有名な楽天グループは、楽天市場の他にも、楽天トラベル、楽天ブックス、楽天レシピといった様々なサービスを運営しています。
そうした楽天の各種サービスには、プログラムによって情報を取得できるAPIが用意されています。
上の画像には、楽天市場系APIと楽天ブックス系APIが掲載されています。
楽天市場を対象としたAPIだけでも6種類もあります。
- 楽天市場商品検索API
- 楽天市場ジャンル検索API
- 楽天市場タグ検索API
- 楽天市場ランキングAPI
- 楽天商品コード検索API
- 商品価格ナビ製品検索API
こうした楽天のAPIを活用することで、日本最大級のECサイトである楽天市場の情報を自動的に取得することが可能です。
楽天市場ランキングAPIで人気商品を自動取得
楽天が提供するサービスのAPIの中でも便利なものが「楽天市場ランキングAPI」です。
楽天市場ランキングAPIでは、楽天市場で人気の商品情報をAPI経由で取得することができます。
楽天市場の商品全体で人気のものだけでなく、特定のジャンルの商品に絞ったケースでも人気商品を抽出可能です。
さらに、年代(10~50代)や性別(男性・女性)といったユーザー属性を限定したランキングもAPIで自動取得できます。
楽天市場ランキングAPIを利用するだけで、人気を集めている商品を紹介するアプリやウェブサービス、ボットを作成できます。
楽天API利用申請手順(アプリID取得)
そこで、楽天APIの利用申請を行う手順を紹介します。
楽天APIを利用するには、APIのリクエストで必要なアプリIDを取得する必要があります。
1.楽天APIの利用申請を行う楽天ウェブサービスのページにアクセスし、「アプリID発行」をクリックします。
2.利用規約を確認し、アプリ新規作成フォームの入力欄を埋め、「規約に同意して新規アプリを作成」ボタンをクリックします。
3.アプリ登録が完了すると、アプリIDやシークレットキーやアフィリエイトIDが表示されるので、控えておきます。
以上の3Stepで楽天APIの利用申請と、APIキーの情報取得が完了です。
楽天市場ランキングAPIのテスト方法
楽天ウェブサービスの各種APIは、リクエストするAPIの取得情報や、パラメータのテスト可能なページが用意されています。
楽天市場ランキングAPIで特定ジャンルに絞った人気商品を知りたい場合は、そのジャンルのカテゴリIDが必要ですが、楽天市場ジャンル検索APIがあります。
最も親ジャンルのIDは0なので、genreIdを0を指定してAPIのリクエストURLを生成し、GETボタンを押すと、第一階層のジャンル一覧が取得できます。
第一階層のジャンル名とジャンルIDがJSON形式で出力されます。
第一階層のジャンルIDを控えておき、再びそのジャンルIDで楽天市場ジャンル検索APIにリクエストすると、より細かなジャンルが取得可能です。
スイーツ・お菓子ジャンルをさらに細分化した、洋菓子やクッキー・焼き菓子、チョコレートなどの子ジャンルが表示されました。
そこで、今回はチョコレートの「201136」のジャンルIDを指定する形で、楽天市場ランキングAPIのテストページでリクエストします。
GETを実行すると、楽天市場ランキングAPIで取得した人気商品情報がjson形式で出力されます。
さらに、URLで表示されているAPIリクエストURLを利用すれば、Google Apps ScriptやPythonといったプログラミングによるAPIリクエストも可能です。
人気ランキングAPIを利用するGASサンプルコード
続いて、Google Apps Script(GAS)を使って、楽天市場ランキングAPIを利用する方法も紹介します。
先程の楽天市場ランキングAPIのテストページで取得した、APIのURLにリクエストを行い、商品情報を取得する処理をGASで実装します。
function getRankingItem() {
//スクリプトに紐付いたスプレッドシートのアクティブなシートを取得
let mySheet = SpreadsheetApp.getActiveSheet();
//楽天商品ランキングAPIにリクエストするURLを定義
let apiUrl = "https://app.rakuten.co.jp/services/api/IchibaItem/Ranking/20170628?format=json&affiliateId=215d90c2.35c906b0.215d90c3.+++++++++&genreId=201136&applicationId=1012***************";
//定義したAPIのURLにHTTP_GETでリクエストし、レスポンスを取得
let response = UrlFetchApp.fetch(apiUrl).getContentText();
//レスポンスデータを処理できるようにJSONデータとしてパース
let json = JSON.parse(response);
//jsonデータをループ処理で配列に格納する処理
let itemData = [];
for(let i = 0; i < json['Items'].length;i++){
//配列を2次元配列に変換
itemData[i]= [];
//スプレッドシートに記録できるように必要な情報を抽出し配列に格納
itemData[i][0] = json['Items'][i]['Item']['itemName'];
itemData[i][1] = json['Items'][i]['Item']['itemPrice'];
itemData[i][2] = json['Items'][i]['Item']['shopName'];
itemData[i][3] = json['Items'][i]['Item']['reviewCount'];
itemData[i][4] = json['Items'][i]['Item']['reviewAverage'];
itemData[i][5] = json['Items'][i]['Item']['affiliateUrl'];
}
//楽天商品ランキングAPIから取得した情報をスプレッドシートに書き込み
mySheet.getRange(2, 1, itemData.length, itemData[0].length).setValues(itemData);
}
※リクエストするAPIのURLは一部伏せています。
定義した楽天市場ランキングAPIのURLにリクエストして取得したjsonデータから必要な情報を2次元配列に格納し、スプレッドシートに書き込むGASコードです。
このようにスプレッドシートに楽天市場ランキングAPIから取得した商品情報を出力できました。
書き出した楽天市場の人気商品情報をベースに人気商品として紹介するアプリやサービスに活用できます。
まとめ・終わりに
今回、Google Apps Script(GAS)で楽天市場ランキングAPIを利用して、人気商品情報を取得する方法を紹介しました。
楽天ウェブサービスには、楽天市場や楽天トラベルで利用できるAPIが多数用意されており、その中でも便利なのが楽天市場ランキングAPIです。
この楽天市場ランキングAPIを使えば、楽天市場でよく売れている人気商品情報を取得できます。
GASと組み合わせることで、楽天APIから商品情報を取得し、売れ筋商品を紹介するサービスやアプリが開発可能です。
さらに、楽天アフィリエイトも利用可能なので、マネタイズできるサービスが開発できます。
アイディア次第で楽天APIは様々な活用ができるので、ぜひGASと組み合わせて有益なサービスを作ってみましょう。
ディスカッション
コメント一覧
まだ、コメントがありません