Amazon の新品価格を見張って、値下がりを Discord にお知らせします
2026年7月11日版
NEKOSOGI(ネコソギ)は、Google スプレッドシートに書いた ASIN の新品価格を5分ごとに見張り、 あらかじめ決めた閾値価格を下回ったら Discord に通知するツールです。
シートに「ASIN」と「閾値価格」を書いてサーバー連携すると、サーバーが5分ごとに Amazon の価格を巡回します。 新品最安の実質価格(ポイント差し引き後)が閾値以下になった商品があれば、Discord にメッセージが届きます。 現在価格やチェック時刻は、シートに自動で書き戻されます。
| もの | 説明 |
|---|---|
| Google アカウント | テンプレートのスプレッドシートをコピーして使います。 |
| Amazon SP-API の認証情報 | LWA の Client ID / Client Secret / Refresh Token の3つです。取得方法は 初期設定 をご覧ください。 |
| Discord のサーバー | 通知の届け先です。Webhook URL を1つ作ってもらいます。 |
| 利用登録 | サーバー連携時に利用資格を確認します。資格がない場合は連携できません(詳しくは配布元にお問い合わせください)。 |
最初に一度だけ、次の手順で設定します。所要時間はだいたい 10〜15 分です。
配布された NEKOSOGI テンプレートのスプレッドシートを開き、メニューの「ファイル」→「コピーを作成」で自分の Google ドライブにコピーします。以後はこのコピーを使います。
コピーしたシートを開き直すと、メニューバーに「NEKOSOGI」メニューが現れます。「⚙️ 設定」を選ぶと設定ダイアログが開きます。初回は Google の認可画面が出るので、内容を確認して許可してください。
「SP-API 認証(LWA)」欄に Client ID / Client Secret / Refresh Token の3つを入力します。 これらは Amazon のソリューションプロバイダーポータル(SPP)で 自己承認アプリを作成すると取得できます(Amazon 出品者アカウントと開発者登録が必要です)。
全体の流れは「SPP で開発者登録とアプリ作成(①〜③、初回のみ)→ 3つの値をコピー(④)」です。 初回は本人確認を含めて 30 分ほどかかります。
ソリューションプロバイダーポータルにログインすると、 「プロダクションアプリを作成するにはステップがあります」と表示されます。
まず左側の「本人確認」から「登録する」をクリックして本人確認を開始します。通常 20 分程度で完了します。
フォームでは主に以下の項目を入力します。
本人確認が完了したら、右側の「ソリューションプロバイダーのアカウントプロフィールと権限の設定」から 「本人確認して開始します」をクリックし、開いたプロフィール設定画面で以下を入力します。
プライベートソリューションプロバイダー を選択します(自分で使うアプリのためプライベートを選びます)。
ソリューションプロバイダーポータルにログインし、
新しいアプリクライアントを追加 を選びます。
| 項目 | 設定値 |
|---|---|
| アプリ名 | NEKOSOGI(任意の名前で構いません) |
| API タイプ | SP API |
| アプリタイプ | プロダクション |
| サポートされている企業 | 出品者 にチェック |
ロール選択画面では、8つすべてにチェックを入れてください。
PII の委譲は「いいえ」を選択し、保存して終了をクリックします。
NEKOSOGI の設定ダイアログに貼り付ける値は以下の3つです。先にすべてメモ帳などにコピーしておくと、一気に貼り付けられてスムーズです。
| 値 | 取得元 |
|---|---|
| Client ID | SPP > アプリ一覧 > LWA認証情報 |
| Client Secret | 同上 |
| Refresh Token | SPP > 対象アプリ > ▼ > 承認 |
Client ID: アプリ一覧で LWA認証情報 の「表示」をクリックし、
クライアントID(amzn1.application-oa2-client.xxxxxxxx の形式)をコピーします。
Client Secret: 同じ LWA認証情報の画面で、クライアント機密情報の「表示」をクリックし、表示された値をコピーします。
Refresh Token: アプリ一覧で、対象アプリの「アプリの編集」右側にある ▼ をクリックし、「承認」を選択します。
「認可の管理」ページが開いたら、以下の2つを行ってください。
Atzr|xxxxxxxx の形式)の「コピー」をクリックする最後に、コピーした3つの値を NEKOSOGI の設定ダイアログ「SP-API 認証(LWA)」の各欄に貼り付ければ完了です。
通知を受け取りたい Discord チャンネルの「連携サービス」→「ウェブフック」から Webhook を作成し、URL をコピーして「通知」欄に貼り付けます。 作り方の詳細は Discord 公式の解説記事 をご覧ください。
「保存」を押してから「サーバー連携」を押します。利用資格の確認が通ると「連携済み ✓」と表示され、5分ごとの巡回が始まります。
「接続テスト」を押すと、SP-API の認証・価格取得・Discord への テスト通知を順に確認して結果を表示します。すべて ✓ になれば設定完了です。
| 項目 | 説明 |
|---|---|
| Client ID / Client Secret / Refresh Token | SP-API(LWA)の認証情報です。保存済みの場合は「保存済み」と表示され、空のまま保存すると現状維持になります。 |
| Discord Webhook URL | 通知の届け先です。https://discord.com/api/webhooks/... の形式のみ受け付けます。 |
| 再通知クールダウン(分) | 同じ商品への通知を再送するまでの待ち時間です(初期値 60 分)。詳しくは 通知の見方 をご覧ください。 |
| ビジネス価格も監視する | オンにすると、Amazon Business の価格も監視対象になります。 |
| 監視を一時停止する | オンにすると、連携したまま巡回・通知を止められます。 |
| サーバー連携 / 連携解除 | 連携すると巡回が始まります。解除すると、サーバー側に保存された認証情報とウォッチリストは削除されます。 |
| 最終巡回時刻 | サーバーが最後に価格を確認した時刻です。連携後、巡回が動いているかの目安になります。 |
使うタブは「ASIN」タブ1枚だけです。1行目がヘッダー、2行目からがデータ行です。
利用者が入力 自動で書き戻し
| ASIN | 閾値価格 | 有効/無効 | 商品名 | 現在価格 | ビジネス現在価格 | 最終チェック時刻 | ステータス | |
|---|---|---|---|---|---|---|---|---|
| 2 | B00EXAMPLE1 | 1,980 | 有効 | サンプル商品A (任意) | 2,150 | 2026/07/11 10:05 | OK | |
| 3 | B00EXAMPLE2 | 3,000 | 2,890 | 2,750 | 2026/07/11 10:05 | OK |
| 列 | だれが書く | 説明 |
|---|---|---|
ASIN | 利用者 | 監視したい商品の ASIN(B0 で始まる10桁)です。必須です。 |
閾値価格 | 利用者 | 「この価格以下になったら通知」の基準額(円)です。必須です。比較対象はポイントを差し引いた実質価格です(通知の見方)。 |
有効/無効 | 利用者 | プルダウンから「有効」「無効」を選びます。空欄は「有効」扱いなので、監視を止めたい行だけ「無効」にしてください。 |
商品名 | 利用者 or 自動 | 任意です。空欄のままメニューの「🏷️ 商品名を取得」を実行すると、Amazon の商品名が自動で入ります。 |
現在価格 | 自動 | 最新の巡回で取得した新品最安の実質価格です。 |
ビジネス現在価格 | 自動 | ビジネス価格監視が有効な場合の Business 価格(税込換算)です。対象外のときは空欄です。 |
最終チェック時刻 | 自動 | その行を最後に確認した時刻です。 |
ステータス | 自動 | 行ごとの状態表示です(OK / 在庫なし / エラー内容など)。 |
reserved1〜4 | — | 将来の機能追加用の予備列です。何も書かないでください。 |
シートを開くとメニューバーに「NEKOSOGI」メニューが追加されます。
| 項目 | 説明 |
|---|---|
| ⚙️ 設定 | 設定ダイアログを開きます。初回のサーバー連携もここから行います(初期設定)。 |
| 🏷️ 商品名を取得 | 商品名列が空欄の行だけ、Amazon から商品名を取得して埋めます。行数が多い場合は数回に分けて実行されます(続きから自動で再開します)。 |
| 🔄 今すぐ同期 | 5分ごとの同期を待たずに、シートの内容の送信と最新価格の書き戻しをその場で実行します。 |
| 📖 マニュアル | このマニュアルを新しいタブで開きます。 |
| ℹ️ NEKOSOGI について | バージョンと、お使いのシートが最新の配布版かどうかの診断を表示します(更新のやり方)。 |
通知の判定に使うのは、表示価格そのものではなく「実質価格」です。
ポイント還元は実質的な値引きとして扱い、初めから差し引いて比較します。 ポイント還元額は Amazon の返す金額をそのまま使い、金額がなくポイント数だけの場合は 1pt = 1円で換算します。 この実質価格が閾値価格以下になったとき、Discord に通知が届きます。
| ルール | 説明 |
|---|---|
| 閾値との比較 | 実質価格 ≦ 閾値価格 になった時点で通知します。 |
| 再通知クールダウン | 通知後、同じ商品は設定した時間(初期値 60 分)が経過するまで再通知しません。閾値以下が続いている場合も、クールダウン経過後に改めて通知します。 |
| 在庫なし | 新品の出品がない商品は「在庫なし」扱いになり、通知しません。 |
| ビジネス価格 | 「ビジネス価格も監視する」がオンの場合、Business 価格(税込換算)も同じ閾値で判定します。 |
NEKOSOGI の更新には「自動で反映されるもの」と「シートの再コピーが必要なもの」の2種類があります。
機能追加やバグ修正のほとんどはプログラム本体(ライブラリ)側の更新で、お使いのシートにも自動で反映されます。 利用者の作業は要りません。
シートの土台部分に手を入れる更新だけは、既存のシートに自動反映できません。 その場合は更新履歴に「NEKOSOGI_配布版_YYYYMMDD のコピーが必要」と書かれます。 新しいテンプレートをコピーして、次の手順でお引っ越しください。
配布元から新しいテンプレートを開き、「ファイル」→「コピーを作成」します。
古いシートの ASIN・閾値価格・有効/無効・商品名の4列(2行目以降)をコピーして、新しいシートの同じ位置に貼り付けます。
メニューの「ℹ️ NEKOSOGI について」を開くと、お使いのシートの世代と診断結果が表示されます。
| 表示 | 意味 |
|---|---|
| ✅ 最新の配布版です | 再コピーは不要です。 |
| 最新の配布版(NEKOSOGI_配布版_YYYYMMDD)へのコピーで新しい機能が使えます | 新しいテンプレートへの再コピーをおすすめします。 |
| お使いのシート: 世代不明 | シートの世代を確認できていません。一度シートを開き直し、それでも変わらなければ困ったときをご覧ください。 |
| 症状 | 確認すること |
|---|---|
| メニューに「NEKOSOGI」が出ない | ブラウザでシートを再読み込みしてください。それでも出ない場合は、コピー元のテンプレートが古い可能性があります(更新のやり方)。 |
| 接続テストの SP-API が ✗ になる | Client ID / Client Secret / Refresh Token の入力ミスが大半です。3つとも入れ直して保存し、もう一度お試しください。Refresh Token は発行し直すと古いものが無効になる点にもご注意ください。 |
| Discord に通知が来ない | 接続テストで Discord の行が ✓ になるか確認してください。✓ なのに来ない場合は、実質価格がまだ閾値を下回っていないか、クールダウン中の可能性があります。「有効/無効」列と「監視を一時停止する」もあわせてご確認ください。 |
| サーバー連携に失敗する | 利用資格の確認で弾かれている場合があります。表示されたメッセージを添えて配布元にお問い合わせください。 |
| 「別の同期処理が実行中です」と出る | 5分ごとの自動同期と操作が重なっただけです。少し待ってからもう一度実行してください。 |
| 商品名の取得が途中で終わる | 行数が多いと数回に分かれます。もう一度「🏷️ 商品名を取得」を実行すると続きから再開します。 |
| 現在価格・ステータスが更新されない | 設定ダイアログの「最終巡回時刻」が進んでいるか確認してください。止まっている場合は、連携状態と「監視を一時停止する」の設定をご確認ください。 |