Amazon Creators API統合 - 完了レポート
🎉 実装完了
Amazon Creators API を使用してアマゾンアフィリエイトリンクを自動的に強化するGitHub Actionsワークフローとスクリプトの実装が完了しました。
❗ 注意: PA-APIは2026年4月30日で廃止予定のため、Creators APIを使用しています。
✨ 実装された機能
1. 自動リンク強化
- マークダウンファイル内のシンプルなAmazonリンクを自動検出
- Amazon Creators APIから商品情報(タイトル、画像)を取得
- リッチな商品カードに自動変換(画像、タイトル、アフィリエイトリンク表示)
- アフィリエイトタグ(peipeipe-22)を維持
2. スマートな処理
- 既存の複雑なウィジェット(カエレバなど)をスキップ
- 短縮URL(amzn.to)の解決に対応
- すでに強化済みのコンテンツを二重処理しない
- HTMLエスケープによるXSS対策
3. 自動実行
_posts/ディレクトリへのプッシュ時に自動実行- GitHub Actionsから手動実行も可能
📁 追加されたファイル
.github/workflows/enhance-amazon-links.yml # GitHub Actionsワークフロー
scripts/enhance_amazon_links.py # メイン処理スクリプト
scripts/test_amazon_enhancement.py # テストスクリプト
docs/AMAZON_PAAPI_INTEGRATION.md # セットアップガイド(英語)
docs/TESTING_GUIDE_JA.md # テストガイド(日本語)
requirements.txt # 更新(python-amazon-paapi追加)
🧪 テスト結果
すべてのテスト合格 ✓
✓ PASS: ASIN抽出 (4/4 テスト)
✓ PASS: リンク検出 (全テスト)
✓ PASS: HTMLエスケープ(セキュリティ)(3/3 テスト)
✓ PASS: ファイル検出 (350個のマークダウンファイル検出)
セキュリティスキャン結果
- 依存関係: 脆弱性なし ✓
- CodeQL分析: 0件のアラート ✓
- コードレビュー: すべての問題対応済み ✓
🚀 使い方
ステップ1: Amazon Creators API認証情報の取得
- Amazonアソシエイトプログラムにログイン
- https://affiliate.amazon.co.jp/
- Creators APIの認証情報を取得
- 「ツール」→「Creators API」→「認証情報を追加する」
- 以下の情報を取得:
- Credential ID
- Secret
- Version (例: 2.3)
ステップ2: GitHub Secretsの設定
リポジトリの Settings → Secrets and variables → Actions で以下を追加:
AMAZON_CREDENTIAL_ID: Creators API Credential IDAMAZON_CREDENTIAL_SECRET: Creators API SecretAMAZON_PARTNER_TAG: アフィリエイトタグ(例: peipeipe-22)AMAZON_API_VERSION: APIバージョン(例: 2.3)
ステップ3: 動作確認
方法1: 自動実行を待つ
新しい記事を _posts/ に追加してプッシュすると自動的に実行されます。
方法2: 手動実行
- GitHubの Actions タブを開く
- Enhance Amazon Affiliate Links を選択
- Run workflow をクリック
📝 変換例
変換前(シンプルなリンク):
[戦争は女の顔をしていない](https://www.amazon.co.jp/dp/B084MCR9KG)
変換後(リッチな商品カード):
<div class="amazon-product-card" style="...">
<div class="amazon-product-image">
<a href="商品URL"><img src="商品画像" alt="商品タイトル"></a>
</div>
<div class="amazon-product-info">
<h3><a href="商品URL">戦争は女の顔をしていない (岩波現代文庫)</a></h3>
<div class="amazon-product-link">
<a href="商品URL">Amazon.co.jpで詳細を見る</a>
</div>
</div>
</div>
⚙️ 動作仕様
処理されるリンク形式
[商品名](https://www.amazon.co.jp/dp/ASIN)[商品名](http://www.amazon.co.jp/exec/obidos/ASIN/ASIN/tag/ref=nosim/)[商品名](https://amzn.to/xxxxx)※短縮URL
スキップされるコンテンツ
- カエレバなどの既存ウィジェット(
<div class="krb-amzlt-box">) - すでに強化済みのコンテンツ(
<div class="amazon-product-card">) - 複雑なHTMLレイアウト内のリンク
📊 対象ファイル
現在、350個のマークダウンファイルが検出されています。 既存の複雑なウィジェットは保護され、シンプルなリンクのみが強化されます。
🔒 セキュリティ対策
- すべてのユーザー生成コンテンツをHTMLエスケープ
- XSS攻撃を防止
- 依存関係に既知の脆弱性なし
- GitHubシークレットによる認証情報の安全な管理
📚 詳細ドキュメント
- セットアップガイド:
docs/AMAZON_PAAPI_INTEGRATION.md - テストガイド:
docs/TESTING_GUIDE_JA.md
💡 ベストプラクティス
- 小規模なテストから開始
- まず少数のファイルで動作確認
- 問題がないことを確認してから全体に適用
- APIレート制限に注意
- Amazon Creators APIにはリクエスト制限があります
- 大量のファイルを一度に処理しないように注意
- 既存のウィジェットを保護
- スクリプトは自動的に既存のカエレバウィジェットをスキップ
- 手動で作成した複雑なレイアウトも保護されます
🎯 次のステップ
- Amazon Creators API認証情報を取得済み ✅
- GitHub Secretsに認証情報を設定
- テストスクリプトで動作確認(API認証情報なしでも実行可能):
python3 scripts/test_amazon_enhancement.py - アソシエイトアカウントのAPI利用資格が承認されたらGitHub Actionsでテスト
- 結果を確認して、必要に応じて調整
⚠️ 注意: 現在「AssociateNotEligible」エラーが発生しています。アソシエイトアカウントがAPI利用資格を満たしたら動作します。
🤝 サポート
問題が発生した場合は、以下を確認してください:
- GitHub Actionsのログ
docs/TESTING_GUIDE_JA.mdのトラブルシューティングセクション- Amazon Creators APIのクォータと制限
実装日: 2026年2月8日
ステータス: ✅ Creators API対応完了・アカウント資格承認待ち
