この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:6
ページ更新者:atom
更新日時:2026-06-11 07:07:02

タイトル: Error 400 : Bad Request Parameter Operation is missing
SEOタイトル: Amazon PA-API「Operation is missing」400 エラーの原因と PA-API 5.0 への移行

この記事の要点
  • Error 400 : Bad Request Parameter Operation is missing は Amazon Product Advertising API のパラメータ不足エラー
  • Operation パラメータは必須。ItemSearch / ItemLookup(PA-API 4)または SearchItems / GetItems / GetBrowseNodes(PA-API 5)を指定
  • PA-API 5.0 では JSON POST 形式に変更、Operation は HTTP ヘッダ X-Amz-Target
  • 対処: SDK(公式 paapi5-php-sdk / paapi5-python-sdk)を利用、署名計算は手動で行わない
  • PA-API 4.0 は 2020-03 に廃止。今 4.0 を呼ぶと別エラー、必ず 5.0 へ移行

このエラーの概要

Amazon Product Advertising API(PA-API、商品検索 API)を呼び出した際に返るエラー:

HTTP/1.1 400 Bad Request


  
    AWS.MissingParameters
    Your request is missing required parameters. Required parameters
    include Operation.
  

このエラーは PA-API リクエストに必須パラメータ Operation が含まれていない / 値が空のときに返されます。PA-API は SOAP/REST 由来の設計のため、すべてのリクエストに「何の処理を呼ぶか」を Operation で示す必要があります。

PA-API 4.0 と 5.0 の違い

項目PA-API 4.0(廃止)PA-API 5.0(現行)
提供状況2020-03-09 廃止現行
形式GET + URL クエリPOST + JSON body
Operation 指定クエリパラメータHTTP ヘッダ X-Amz-Target
Operation 例ItemSearch / ItemLookup / BrowseNodeLookupSearchItems / GetItems / GetVariations / GetBrowseNodes
署名v2AWS Signature v4
レスポンスXMLJSON

対処1: PA-API 5.0 へ移行(必須)

2026 年現在、4.0 を呼んでも常にエラーになります。SDK 利用が公式推奨です:

# PHP
composer require amzn/paapi5-php-sdk

# Python
pip install paapi5-python-sdk

# Node.js
npm install paapi5-nodejs-sdk

# Java は Maven リポジトリから paapi5-java-sdk

対処2: PHP での正しい呼び出し(SearchItems)

setAccessKey('YOUR_ACCESS_KEY');
$config->setSecretKey('YOUR_SECRET_KEY');
$config->setHost('webservices.amazon.co.jp');
$config->setRegion('us-west-2');

$apiInstance = new DefaultApi(new GuzzleHttp\Client(), $config);

$request = new SearchItemsRequest();
$request->setPartnerTag('your-22');
$request->setPartnerType(PartnerType::ASSOCIATES);
$request->setKeywords('Python 入門');
$request->setSearchIndex('Books');
$request->setItemCount(10);
$request->setResources([
    SearchItemsResource::ITEM_INFOTITLE,
    SearchItemsResource::OFFERSLISTINGSPRICE,
    SearchItemsResource::IMAGESPRIMARYLARGE,
]);

try {
    $response = $apiInstance->searchItems($request);
    foreach ($response->getSearchResult()->getItems() as $item) {
        echo $item->getItemInfo()->getTitle()->getDisplayValue() . PHP_EOL;
    }
} catch (ApiException $e) {
    echo 'Error: ' . $e->getResponseBody();
}

対処3: 生 HTTP で呼ぶ場合(参考、SDK 推奨)

SDK を使わず直接呼ぶ場合、X-Amz-Target ヘッダに Operation を指定します:

POST /paapi5/searchitems HTTP/1.1
Host: webservices.amazon.co.jp
Content-Type: application/json; charset=UTF-8
X-Amz-Date: 20260515T120000Z
X-Amz-Target: com.amazon.paapi5.v1.ProductAdvertisingAPIv1.SearchItems
Authorization: AWS4-HMAC-SHA256 Credential=...

{
  "Keywords": "Python 入門",
  "SearchIndex": "Books",
  "ItemCount": 10,
  "PartnerTag": "your-22",
  "PartnerType": "Associates",
  "Marketplace": "www.amazon.co.jp",
  "Resources": [
    "ItemInfo.Title",
    "Offers.Listings.Price"
  ]
}

PA-API 5.0 で使える Operation 一覧

Operation (X-Amz-Target)用途旧 PA-API 4 名
SearchItemsキーワード / カテゴリで検索ItemSearch
GetItemsASIN 指定で詳細取得(最大 10 個)ItemLookup
GetVariationsバリエーション(色 / サイズ)取得
GetBrowseNodesカテゴリ階層取得BrowseNodeLookup

よくある原因と対処

症状原因対処
Operation is missing4.0 形式で呼んでいる / Operation 未設定5.0 SDK を使用、X-Amz-Target ヘッダ
InvalidParameterValueSearchIndex / ItemId 不正有効値を 公式ドキュメントで確認
InvalidSignature署名計算ミスSDK 使用、手動署名はしない
TooManyRequests (429)レート制限売上による TPS 上限、リトライ + バックオフ
AccessDeniedAssociate 未承認 / 売上 030 日以内に 3 件以上の売上が必要

FAQ

Q: PA-API 4.0 をまだ使えるか?
A: 使えません。2020 年 3 月で完全廃止。今 4.0 を呼ぶと 400 エラーや 410 Gone が返ります。

Q: 売上 0 でも開発できる?
A: PA-API はアフィリエイト売上が条件。30 日以内に 3 件以上の発注がないと API キーが停止されます。開発用には Amazon Sandbox(提供地域限定)または アソシエイト・セントラルのテスト機能を使用。

Q: 日本 Amazon と米国 Amazon で同じキーは使える?
A: アソシエイト ID はマーケットプレイスごとに別。Hostwebservices.amazon.co.jp / webservices.amazon.com と分けます。

関連エラー

  • The request signature we calculated does not match — 署名ミス、SDK 利用推奨
  • AssociateTag not found — PartnerTag 誤り、コンソールで確認
  • InvalidParameterValue: ItemIds — ASIN が無効 / 商品削除済