質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

5430閲覧

【Amazon API】Aamzon のProduct Advertising APIを使って開発するには、Amazonアソシエイト・プログラムの審査に通る必要がありますか?

pecchan

総合スコア555

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2016/08/20 23:26

編集2016/08/21 22:01

Aamzon APIを使った開発をしたいです。

作りたい物は、個人的に利用する商品検索ツールです。
Amazonのアフィリエイトは利用しません。

手順通りに
1.Amazon アソシエイト・プログラムの登録申請を行いました。
2.登録が完了したので、アソシエイトタグ、アクセスキー ID、シークレットアクセスキーが取得出来ました。
3.早速サンプルプログラムを動かしました。コードはサンプルのままですが以下のとおりです。

「「Amazon API」の使い方を紹介します!最安値やランキング取得できるよ④-リクエストURLの作成(PHP)と結果(XML)の確認- 」
https://www.panzee.biz/archives/6262

php

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<title>Amazon APIテスト</title> 5<meta charset="utf-8"> 6</head> 7 8<body> 9 10<?php 11 12//Enter your IDs 13define("Associate_tag", "*****"); // アソシエイトタグ 14define("Access_Key_ID", "******************"); // アクセスキー 15define("Secret_Access_Key", "**************************************"); // シークレットキー 16 17ItemSearch("All", "アナと雪の女王"); 18 19//Set up the operation in the request 20function ItemSearch($SearchIndex, $Keywords){ 21 22 $baseurl = "http://webservices.amazon.com/onca/xml"; 23 24 // リクエストのパラメータ作成 25 $params = array(); 26 $params["Service"] = "AWSECommerceService"; 27 $params["AWSAccessKeyId"] = Access_Key_ID; 28 $params["Version"] = "2013-08-01"; 29 $params["Operation"] = "ItemSearch"; 30 $params["SearchIndex"] = $SearchIndex; 31 $params["Keywords"] = $Keywords; 32 $params["AssociateTag"] = Associate_tag; 33 $params["ResponseGroup"] = "ItemAttributes,Offers"; 34 35 /* 0.元となるリクエスト */ 36 $base_request = ""; 37 foreach ($params as $k => $v) { 38 $base_request .= "&" . $k . "=" . $v; 39 } 40 $base_request = $baseurl . "?" . substr($base_request, 1); 41 echo "【0.元となるリクエスト】<br>" . $base_request . "<br>"; 42 43 /* 1.タイムスタンプを付ける */ 44 $params["Timestamp"] = gmdate("Y-m-d\TH:i:s\Z"); 45 $base_request .= "&Timestamp=" . $params['Timestamp']; 46 echo "【1.タイムスタンプを付ける】<br>" . $base_request . "<br>"; 47 48 /* 2.「RFC 3986」形式でエンコーディング */ 49 $base_request = ""; 50 foreach ($params as $k => $v) { 51 $base_request .= '&' . $k . '=' . rawurlencode($v); 52 $params[$k] = rawurlencode($v); 53 } 54 $base_request = $baseurl . "?" . substr($base_request, 1); 55 echo "【2.「RFC 3986」形式でエンコーディング】<br>" . $base_request . "<br>"; 56 57 /* 3.「&」とか消して改行 */ 58 $base_request = preg_replace("/.*\?/", "", $base_request); 59 $base_request = str_replace("&", "\n", $base_request); 60 61 echo "【3.「&」とか消して改行】<br>" . $base_request . "<br>"; 62 63 /* 4.パラメーター名で昇順ソート */ 64 ksort($params); 65 66 $base_request = ""; 67 foreach ($params as $k => $v) { 68 $base_request .= "&" . $k . "=" . $v; 69 } 70 $base_request = substr($base_request, 1); 71 $base_request = str_replace("&", "\n", $base_request); 72 echo "【4.パラメーター名で昇順ソート】<br>" . $base_request . "<br>"; 73 74 /* 5.もう一度「&」でつなぐ */ 75 $base_request = str_replace("\n", "&", $base_request); 76 echo "【5.もう一度「&」でつなぐ】<br>" . $base_request . "<br>"; 77 78 /* 6.3行を頭に追加 */ 79 $parsed_url = parse_url($baseurl); 80 $base_request = "GET\n" . $parsed_url['host'] . "\n" . $parsed_url['path'] . "\n" . $base_request; 81 82 //$base_request = "GET\nwebservices.amazon.com\n/onca/xml\n" . $base_request; 83 echo "【6.3行を頭に追加】<br>" . $base_request . "<br>"; 84 85 /* 7.よく分からんエンコーディング */ 86 $signature = base64_encode(hash_hmac('sha256', $base_request, Secret_Access_Key, true)); 87 $signature = rawurlencode($signature); 88 echo "【7.よく分からんエンコーディング】<br>" . $signature . "<br>"; 89 90 /* 8.「Signature」として最後に追加 */ 91 $base_request = ""; 92 foreach ($params as $k => $v) { 93 $base_request .= "&" . $k . "=" . $v; 94 } 95 $base_request = $baseurl . "?" . substr($base_request, 1) . "&Signature=" . $signature; 96 echo "【8.「Signature」として最後に追加】<br>" . $base_request . "<br>"; 97 98 echo "<a href=\"" . $base_request . "\" target=\"_blank\">結果</a>"; 99} 100 101?> 102 103</body> 104</html>

上記を実行するとエラーが返りました。

エラー内容↓
Your [わたしのアクセスキー ID] is not registered as an Amazon Associate. Please register as an associate at https://affiliate-program.amazon.com/gp/associates/join/landing/main.html.

エラーについて調べると、
(アクセスキーの認証はできてるけど)アクセスキーがAmazonアソシエイトのものとして登録されていない
というエラーのようです。

心当たりとして
Amazon アソシエイト・プログラムの登録は行いましたが、審査には落ちてしまいました。

理由は、「 Webサイトが未完成または作成したばかりであるため審査が行えない場合」に当てはまったようです。

ここで幾つか疑問が生じました。

疑問1.AmazonAPI(Product Advertising API)を使った開発、具体的にはAmazonへの接続・認証には、Amazon アソシエイト・プログラムの登録だけでなく申請を通る必要がある?

疑問2.だとした場合、今回の私のように、登録に使用するWebサイトが無い(あっても新規サイトしかない)人は、どうしてる?

疑問3.そもそも開発だけ行いたい、アフィリエイトは不要です、という人はどうやって開発してる?

以上です。

分かる方や、疑問にお応えしてくださる方
居ましたらどうぞ宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/21 23:04

登録時にテストはこっちを使えとか書いてませんか?
pecchan

2016/08/22 00:38

有難う御座います。 ご質問は、 サンプルプログラムのことでしょうか? それともAmazon アソシエイト・プログラムのことでしょうか?
sug_kei1126

2017/06/03 08:21

はじめまして。私も現在同じような疑問を持って質問を読ませていただいたのですが、pecchanさまはどのようなサイトで審査に通過なさったのかお伺いしてもよろしいでしょうか?
pecchan

2017/06/03 22:24 編集

sug_kei1126様 約1年前で具体的なURLは失念しましたが、正式なAmazonのサイトでした。登録にあたりWebサイトが必要かどうかについては、必要でした。ちょっとした開発だけ行いたい場合も、サイトが必要になります。そのサイトがあまりに今作ったようなやつだと審査に通らないようです。
guest

回答1

0

ベストアンサー

はじめまして。
さくっと私がわかる範囲で。

疑問1.アソシエイト・プログラムの登録だけでなく申請を通る必要がある?
はい。通らないとAPIの結果がもらえません。
アフィリエイトIDが不要なAPIは不要です。

疑問2.登録に使用するWebサイトが無い(あっても新規サイトしかない)
会社概要とかでも行けます。
システム開発の案内でいいかと思われます。

疑問3.そもそも開発だけ行いたい、アフィリエイトは不要です、という人はどうやって開発してる?
Amazon提供のテストページでAPIの確認を行い、結果が返ってくることを確認して作りこむ方法になります。
実際に動かして確認したい場合は、アフィリエイトのIDが不要なAPIならIDがなくても実行できますが、アフィリエイトIDが必須のAPIを用いるなら必要です。

未確定な情報ですが、審査は一度Amazonのアカウントでクレジット購入をすると、実在証明となるのか審査が通りやすくなります。
私は会社概要とアフィリエイトIDを発行したいアカウントでクレカ購入して審査を通しました。

※ 古い記憶なので、開発方法については間違っているかもしれません。
ご了承ください。

投稿2016/08/22 14:56

crowmt

総合スコア402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/08/23 07:25

朝から再登録→再審査→先ほど審査に通ったため早速動かしてました。 無事に進めました。 ちなみにサンプルコードは古いせいか、やはりエラーになります。 教えていただいたように、Amazon提供のテストページで動かすと正常に取得出来ました。 それを元に進めていきます。 本当に有難う御座いました!
crowmt

2016/08/23 12:35

審査通ったようで何よりです。 AmazonAPIはちょっとややこしいですが、頑張ってくださいね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問