Amazon Creators API統合 - 完了レポート

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認証情報の取得

  1. Amazonアソシエイトプログラムにログイン
    • https://affiliate.amazon.co.jp/
  2. Creators APIの認証情報を取得
    • 「ツール」→「Creators API」→「認証情報を追加する」
  3. 以下の情報を取得:
    • Credential ID
    • Secret
    • Version (例: 2.3)

ステップ2: GitHub Secretsの設定

リポジトリの Settings → Secrets and variables → Actions で以下を追加:

  • AMAZON_CREDENTIAL_ID: Creators API Credential ID
  • AMAZON_CREDENTIAL_SECRET: Creators API Secret
  • AMAZON_PARTNER_TAG: アフィリエイトタグ(例: peipeipe-22)
  • AMAZON_API_VERSION: APIバージョン(例: 2.3)

ステップ3: 動作確認

方法1: 自動実行を待つ

新しい記事を _posts/ に追加してプッシュすると自動的に実行されます。

方法2: 手動実行

  1. GitHubの Actions タブを開く
  2. Enhance Amazon Affiliate Links を選択
  3. 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

💡 ベストプラクティス

  1. 小規模なテストから開始
    • まず少数のファイルで動作確認
    • 問題がないことを確認してから全体に適用
  2. APIレート制限に注意
    • Amazon Creators APIにはリクエスト制限があります
    • 大量のファイルを一度に処理しないように注意
  3. 既存のウィジェットを保護
    • スクリプトは自動的に既存のカエレバウィジェットをスキップ
    • 手動で作成した複雑なレイアウトも保護されます

🎯 次のステップ

  1. Amazon Creators API認証情報を取得済み ✅
  2. GitHub Secretsに認証情報を設定
  3. テストスクリプトで動作確認(API認証情報なしでも実行可能):
    python3 scripts/test_amazon_enhancement.py
    
  4. アソシエイトアカウントのAPI利用資格が承認されたらGitHub Actionsでテスト
  5. 結果を確認して、必要に応じて調整

⚠️ 注意: 現在「AssociateNotEligible」エラーが発生しています。アソシエイトアカウントがAPI利用資格を満たしたら動作します。

🤝 サポート

問題が発生した場合は、以下を確認してください:

  1. GitHub Actionsのログ
  2. docs/TESTING_GUIDE_JA.md のトラブルシューティングセクション
  3. Amazon Creators APIのクォータと制限

実装日: 2026年2月8日
ステータス: ✅ Creators API対応完了・アカウント資格承認待ち