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

タイトル: 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
<?xml version="1.0"?>
<ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2013-08-01/">
  <Error>
    <Code>AWS.MissingParameters</Code>
    <Message>Your request is missing required parameters. Required parameters
    include Operation.</Message>
  </Error>
</ItemSearchErrorResponse>

このエラーは 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)

<?php
require_once 'vendor/autoload.php';

use Amazon\ProductAdvertisingAPI\v1\ApiException;
use Amazon\ProductAdvertisingAPI\v1\Configuration;
use Amazon\ProductAdvertisingAPI\v1\api\DefaultApi;
use Amazon\ProductAdvertisingAPI\v1\com\amazon\paapi5\v1\PartnerType;
use Amazon\ProductAdvertisingAPI\v1\com\amazon\paapi5\v1\SearchItemsRequest;
use Amazon\ProductAdvertisingAPI\v1\com\amazon\paapi5\v1\SearchItemsResource;

$config = new Configuration();
$config->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=...

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

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 が無効 / 商品削除済