ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
このエラーの概要
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 / BrowseNodeLookup | SearchItems / GetItems / GetVariations / GetBrowseNodes |
| 署名 | v2 | AWS Signature v4 |
| レスポンス | XML | JSON |
対処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=...
{
"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 |
| GetItems | ASIN 指定で詳細取得(最大 10 個) | ItemLookup |
| GetVariations | バリエーション(色 / サイズ)取得 | — |
| GetBrowseNodes | カテゴリ階層取得 | BrowseNodeLookup |
よくある原因と対処
| 症状 | 原因 | 対処 |
|---|---|---|
| Operation is missing | 4.0 形式で呼んでいる / Operation 未設定 | 5.0 SDK を使用、X-Amz-Target ヘッダ |
| InvalidParameterValue | SearchIndex / ItemId 不正 | 有効値を 公式ドキュメントで確認 |
| InvalidSignature | 署名計算ミス | SDK 使用、手動署名はしない |
| TooManyRequests (429) | レート制限 | 売上による TPS 上限、リトライ + バックオフ |
| AccessDenied | Associate 未承認 / 売上 0 | 30 日以内に 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 はマーケットプレイスごとに別。Host も webservices.amazon.co.jp / webservices.amazon.com と分けます。
関連エラー
The request signature we calculated does not match— 署名ミス、SDK 利用推奨AssociateTag not found— PartnerTag 誤り、コンソールで確認InvalidParameterValue: ItemIds— ASIN が無効 / 商品削除済
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Error 400 : Bad Request Parameter Operation is missing
- MissingParameter. The request must contain the parameter Signature.
- RequestThrottled. AWS Access Key ID: ... . You are submitting requests too quickly
- SignatureDoesNotMatch. The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
- failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?