はじめに
楽天市場、Yahooショッピング、eBayから商品情報を取得するために、各ECサイトのAPIを利用します。APIの取得方法をまとめました。
eBayのAPIは、楽天とYahooと異なり、有効期限が設けられています。その有効期限は2時間です。n8nのフローを実行する際に、毎回手動でAPIを取得するのは手間なので、自動的にAPIを取得します。
楽天市場で使用するAPIの取得
楽天市場の商品情報を取得するAPIを使用するためには、楽天会員のアカウントが必要です。
楽天会員のアカウントをお持ちでない場合は、楽天市場や楽天モバイルなどからアカウントを作成してください。
<作業手順>
1.下記URLの「Rakuten Developers」にアクセスし、画面右上の「ログイン」をクリックします。

2.楽天会員でログインしてください。
3.ログインしたら画面右上の「+アプリID発行」をクリックします。
4.アプリ名、アプリURL、認証を入力して「規約に同意して新規アプリを作成」をクリックします。アプリ名、アプリURLは後から編集可能です。
- アプリ名
任意の名前を設定することができます。例:せどり商品検索ツール - アプリURL
仮のURLでも登録は可能です。例:https://localhost/
5.作成に成功すると下記のような画面が表示されます。
6.作成した楽天APIのアプリIDの動作を確認します。下記URLに作成したアプリIDを入力し、ブラウザでアクセスします。
https://app.rakuten.co.jp/services/api/IchibaItem/Search/20220601?applicationId=”あなたのアプリID”&keyword=ノートパソコン
7.ブラウザで下記のような検索結果が表示されることを確認します。
楽天APIの取得は完了です。
Yahooショッピングで使用するAPIの取得
Yahooショッピングの商品情報を取得するAPIを使用するためには、Yahoo!JAPAN IDのアカウントが必要です。
Yahoo!JAPAN IDのアカウントをお持ちでない場合は、下記URLからアカウントを作成してください。
<作業手順>
1.下記URLの「Yahoo!デベロッパーネットワーク」にアクセスし、「アプリケーションの管理」をクリックします。
2.「Yahoo!JAPAN IDでログイン」をクリックし、Yahoo!JAPAN IDでログインしてください。
3.「新しいアプリケーションを開発」をクリックします。
4.作成するアプリの情報を入力し「確認」をクリックします。
- Web APIを利用する場所
例:「ID連携を利用しない」を選択(ログイン機能は使用しないのでID連携は不要) - 利用者情報の種類
例:「個人」を選択(副業なら個人でOK) - 個人情報に関する同意
例:「同意する」を選択(同意が必須) - 住所
例:「日本」→ 使用者の住所を入力 - アプリケーション名
例:商品価格比較ツール(識別しやすい任意の名称) - サイトURL
例:http://localhost/(開発用途なら localhost でもOK) - アプリケーションの説明
例:Yahooショッピングの商品情報を取得し、価格比較を行うツール(商品検索・価格取得用途であることを明記) - 利用規約・ガイドライン
「同意する」を選択(同意が必須)
5.確認ページが表示されるので、登録内容に誤りが無ければ「登録」をクリックします。
6.「登録完了」が表示されます。
7.作成したYahooAPIのアプリIDの動作を確認します。下記URLに作成したアプリIDを入力し、ブラウザでアクセスします。
https://shopping.yahooapis.jp/ShoppingWebService/V3/itemSearch?appid=”あなたのClientID”&query=ノートパソコン&results=5
8.ブラウザで下記のような検索結果が表示されることを確認します。
YahooAPIの取得は完了です。
eBayで使用するAPIの取得
eBayのAPIで商品検索を行う際、楽天APIやYahooAPIとは異なり、アクセストークンが必要になります。
eBayにおけるアクセストークン、リフレッシュトークン、eBay API の関係
eBayにおけるアクセストークン、リフレッシュトークン、eBay APIについてざっくりと解説します。
アクセストークン
- 役割
eBayのAPIにリクエストを送るときに、認可された証明書として使います - 特徴
有効期限は通常2時間(7200秒)
有効期限が切れると、APIの呼び出しに使えなくなります
毎回APIを使うときにHTTPヘッダーに付けて使います
リフレッシュトークン
- 役割
アクセストークンの有効期限が切れたときに、新しいアクセストークンを取得するためのトークン - 特徴
有効期限は 18か月(47304000秒)
アクセストークンと違い、APIを呼び出すためには直接使いません
長期的に保持して、アクセストークンの更新専用のトークンです
eBay API
- 役割
eBayが提供する機能の入り口
<例>
商品を検索する(Browse API)
注文を取得する(Fulfillment API)
在庫管理をする(Inventory API)など - 利用条件
すべてのAPIはアクセストークンによって認証されたリクエストが必要です。
eBayのAPIで商品検索を行うのに必要な作業
eBay APIで商品検索を行うためには、アクセストークンが必要になります。
ここからはアクセストークンを取得するための手順を解説します。
下記にアクセストークンを取得するための大まかな手順を記載しました。
1.ebayにアカウントを作成する
2.eBay Developers Programにアカウントを作成する
3.eBay Developers Programにログインする
4.ProductionでAPI Keyを作成する
5.作成したAPI Keyの認可コードを取得する
6.取得した認可コードでリフレッシュトークンを取得する
7.取得したリフレッシュトークンでアクセストークンを取得する
eBay Developers Programにログインすれば、リフレッシュトークン無しに
アクセストークンを取得することは可能です。
今回はn8nを用いてeBayの商品検索を実施します。
n8nでeBay Developers Programに自動ログインし、スクレイピングでアクセストークンを取得することも可能でしたが、リフレッシュトークンを用いることでスクレイピング無しでアクセストークンを取得できるので、その方法を採用することにしました。
<作業手順>
1.「eBayアカウント」を持っていない場は、下記URLからアカウントを作成してください。

2.「eBay Developers Programアカウント」を持っていない場合は、下記URLからアカウントを作成します。
3.画面右上の赤枠のアイコンをクリックします。
4.「Register」タブをクリックし、アカウントを情報を入力し「Join」をクリックします。
5.作成が完了したら「Sing In」から作成したアカウントでログインします。
6.画面右上の「Hi “あなたのユーザ名“」にカーソルを合わせて「Application Keys」をクリックします。
7.「Enter Application Title」でアプリケーション名を入力します。
!!注意!!
設定後は名前を変更することはできません。
8.アプリケーション名を設定したら「Production」の「Create a keyset」をクリックします。
<補足>
Sandboxの利用用途は開発・テスト用です。
SandboxのAPI使用先は「https://api.sandbox.ebay.com」でテスト用eBay環境です。
Sandboxでは商品データはダミーであり、実際の商品は検索できません。
9.作成するkeyの情報を入力し「Continue to Create Keys」をクリックします。
10.API keyが作成されたら「User Tokens」をクリックします。
※ClientIDとClientSecretは、のちほど使用します。
それぞれの値をメモしておいてください。
11.「Add eBay Redirect URL」をクリックします。
12.「OAuth」にチェックを入れて「Test Sign-in」をクリックします。
RuNameをコピーしておきます。
13.「eBayアカウント」でログインします。
!!注意!!
「eBay Developers Programアカウント」でログインしません。
14.「Authorization successfully completed.」のメッセージが表示されることを確認します。
15.前項のURLをコピーします。
URL中の「code=~~」を手順の「18.」で使用します。
この認可コード(code=~~)は一度だけ使用できます。
有効期限は eBay の仕様で 5分以内です。
使用後は、新しい認可コードを再取得する必要があります(再利用不可)
<サンプルURL>
https://auth2.ebay.com/oauth2/ThirdPartyAuthSucessFailure?isAuthSuccessful=true&code=v%5E1.1%xxxxxxxxxMjYw&expires_in=299
16.検索フォームに「Powershell」を入力し「Windows Powershell」をクリックします。
17.ClientIDとClientSecretを組み合わせたBase64コードを作成します。
Powershellで下記のコマンドを実行してください。
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("あなたのClientID:あなたのClientSecret"))
ClientIDが「AAAAAAA」、ClientSecretが「BBBBBB」の場合の例
18.手順の「12.」で生成したRuName、手順の「15.」で取得したCode、手順の「17.」で生成したClientIDとClientSecretを組み合わせたBase64コードを用いて、リフレッシュトークンを作成します。
!!注意!!
手順の「15.」で取得したコードの有効期限は5分です。
コードを取得してから5分以上、経過した場合、手順の「15.」を再実施してください。
コマンドプロンプトで下記のコマンドを実行してください。
curl -X POST "https://api.ebay.com/identity/v1/oauth2/token" -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic 【手順17で生成したBase64文字列】" -d "grant_type=authorization_code&code=【手順15で取得したCode】&redirect_uri=【手順12で生成したRuName】"
実行結果の例
実行結果に「refresh_token」が含まれていたら、実行に成功しています。
成功すると下記構成の情報を取得します。
{
"access_token": "...",
"expires_in": 7200,
"refresh_token": "v^1.1#...",
"refresh_token_expires_in": 47304000,
"token_type": "User Access Token"
}
「refresh_token」をコピーしておきます。
※補足:作成した「refresh_token」の有効期限は約547日です。
19.n8nで構築する「せどり商品選定の自動化」フローでは、フローを実行したタイミングでeBayのアクセストークンを取得します。
リフレッシュトークンでアクセストークンを取得できるかを検証します。
コマンドプロンプトで下記のコマンドを実行してください。
curl -X POST "https://api.ebay.com/identity/v1/oauth2/token" -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic 【手順17で生成したBase64文字列】" -d "grant_type=refresh_token&refresh_token=【手順18で取得したリフレッシュトークン】&scope=https://api.ebay.com/oauth/api_scope"
実行結果の例
実行結果に「access_token」が含まれていたら、実行に成功しています。
成功すると下記構成の情報を取得します。
{
"access_token": "v^1.1#....",
"expires_in": 7200,
"token_type": "User Access Token"
}
「access_token」をコピーしておきます。
※補足:作成した「access_token」の有効期限は2時間です。
20.取得したアクセストークンでeBayから情報を取得できるか検証します。
コマンドプロンプトで下記のコマンドを実行してください。
※ノートパソコンを5件検索します。
curl -X GET "https://api.ebay.com/buy/browse/v1/item_summary/search?q=laptopcomputer&limit=5" ^
-H "Authorization: Bearer 【手順19で取得したアクセストークン】" ^
-H "Content-Type: application/json"
実行結果の例
実行結果に何かしらのメッセージが含まれていたら、実行に成功しています。
eBayAPIの取得は完了です。
次回は、今回取得したAPIを用いてn8nのフローを作成します。
コメント