Amazon Product Advertising APIでHTTP Status 503: Service Unavailableになる

Amazon Product Advertising API(PA-API)でリクエストしたら、以下のエラーが表示されました。

Error! RequestThrottled
HTTP Status 503: Service Unavailable
AWS Access Key ID: xxxxx. You are submitting requests too quickly. Please retry your requests at a slower rate.

数秒、数分、数時間、1日、3日たってもエラーのまま。

アクセスキーIDとシークレットキーを再発行してみてもエラーのまま。

調べてみた結果、

2019/01/23にPA-APIの利用ポリシー変更が原因のようです。

[重要] Product Advertising API 利用ポリシーの変更について

この変更の大まかな内容ですが、

リクエストの上限がすべてのユーザーに対して

1秒に1リクエストできたのが、

10秒に1リクエストに減りました。

また、

30日間、PA-API経由で売り上げがない場合、リクエストエラーになってしまいます。

こうなった場合、Amazonアソシエイト・プログラムの他のサービスで売り上げが発生したら、再びPA-APIが使えるようになるようです。

劣化。。

アマゾン商品検索 Amazon Product Advertising API を使ってみる

Amazon Product Advertising APIを使ってアマゾンの商品検索をする方法

Amazon アソシエイト・プログラムのアカウントを作成する

Amazon Product Advertising APIを使うには、以下が必要です。

  • アクセスキー
  • シークレットキー
  • アソシエイトID

以下のページにアクセスして、アカウントを作成します。
Amazon アソシエイト・プログラム

Amazon Product Advertising API Scratchpadでリクエストを作成する

アクセスキー、シークレットキー、アソシエイトIDを取得したら、
下記のサイトにアクセスします。
Product Advertising API Scratchpad
Amazon Product Advertisingのリクエストは結構、複雑なのですが、このサイトを使うと簡単にリクエストが作成できます。

アクセスキー、シークレットキー、アソシエイトIDを入力する。

例として、Item Searchをしてみます。
左側の Select operation で Item Search を選択し、
下記の箇所に取得したアクセスキー、シークレットキー、アソシエイトIDを入力します。

Item Searchセクションの設定をする

続いて、Item Searchセクションに、例として以下のように設定し、Run requestボタンを押します。

Responseの確認をする

リクエストに成功すると、Responseセクションにこんな感じで表示されます。

XML responseタブに切り替えると、XML形式のレスポンスコードが確認できます。

HTML responseタブに切り替えると、HTML形式のレスポンスコードが確認できます。

Code snippetsを確認する

Laravelで使いたいので、Code snippetsのPHPタブを選択して、コピーします。
あとは、Laravelで、ContollerやBlade.phpで適当に加工して使います。

Sublime Text 3 スニペット Snippet

開発環境

Sublime Text 3

スニペット Snippetとは

単語登録の便利版のようなもの。
よく書くコードを登録しておくと、次からTabで登録した内容を展開でき楽になります。

スニペット Snippet を登録する

Tools -> Developer -> New Snippetを選択すると

 

のようなテンプレートが表示されます。

これを、

"Sublime Text 3 スニペット Snippet" の続きを読む

Sublime Text 3 おすすめパッケージ

開発環境

Sublime Text 3

Sublime Text 3でおすすめのパッケージをメモしておきます。

Material Theme(テーマ)

見た目をかっこよくしたいなら、これをとりあえず追加します。

Emmet

htmlタグの入力が飛躍的に便利になるパッケージです。1度使うと、手放せなくなります。
こちらのチートシートと一緒にどうぞ。
Emmet cheat sheet

"Sublime Text 3 おすすめパッケージ" の続きを読む

Sublime Text 3を使ってみる

開発環境

Sublime Text 3

Sublime Textのダウンロード、インストール

Sublime TextはWindwosでもMacでも使用できるエディターです。

以下のサイトからSublime Text 3をダウンロードできます。

ダウンロードしたらインストールします。

Sublime Text 3

Sublime Text パッケージをインストール

Sublime Textをインストールしたら、次はパッケージをインストールします。

パッケージをインストールすると、Sublime Textにさまざまな拡張機能を追加できます。

"Sublime Text 3を使ってみる" の続きを読む

macのテキストエディットをテキスト形式にする

確認環境:

mac バージョン10.12.6

macのテキストエディットはデフォルトだと、リッチテキスト形式になるので、

テキスト形式にする方法をメモしておきます。

テキストエディットを起動する。

環境設定を開く。

フォーマットを標準テキストを選択する。

Open Weather Map Web APIを使ってiPhoneアプリ作成

 

Open Weather Mapが提供しているWeb APIを使ってiPhoneアプリ作成してみました。

Web APIの使い方をメモしておきます。

 

確認環境:Xcode 7.3

 

有名どころのコンテンツ各社が提供しているWeb APIを活用すれば、アプリ開発の際、自分で何から何まで全部作る必要がなくなり、

さらに、Web APIを提供しているコンテンツの洗練されたノウハウを取り入れることもできます。

 

今回は、Open Weather Mapが提供している気象情報のWeb APIを使ってiPhoneアプリ作成してみます。

 

まず、はじめに、以下の Open Weather Mapのサイトにアクセスして、Sign Up をします。

 

Sign Up が完了したら、Sign Inしてください。

その後、「API」をクリックします。以下のような画面が表示されます。


Tip_01_01_009a

 

今回は、Current weather data の Subscribe を選択します。

FreeプランでAPI key を取得します。


Tip_01_01_009b

 

API Key が作成されたこと確認します。

このAPI Keyは後から使います。


Tip_01_01_009c

 

次は、Xcodeでコードを書いていきます。

Single View Applicationでプロジェクトを新規作成します。

 

プロジェクトを新規作成したら、SBJsonフレームワークをプロジェクトに取り込みます。

GitHubで公開されているものの最新版はv4.0.0ですが、

うまく使いこなせなかったので、今回はv3.2.0を使います。

Downloads の Source code (Zip)をクリックして、ダウンロードします。


Tip_01_01_009d

 

ダウンロードしたZipファイルを適当な場所で解凍します。

解凍したら、Classesフォルダのファイルを全て、Xcodeのプロジェクトにコピーします。

ルート階層に「json320」という名前でグループ(フォルダ)を作って、そこに放り込みます。


Tip_01_01_009e

 

次はStoryboardの設定をします。

Storyboardのど真ん中にラベルを1つだけ配置します。

 

このラベルを ViewController.h に「label1」という名前でアウトレットしておきます。

あとは、先ほどプロジェクトに取り込んだ、SBJsonフレームワークが使えるように、

「#import "SBJson.h"」を追加しておきます。


Tip_01_01_009f

 

最後に ViewController.m に以下のコードを書きます。

12行目の★★★の箇所には、先ほど取得した、自分のAPI Keyを記述します。

実行すると、こんな感じにラベルに東京の現在の天気が表示されます。


Tip_01_01_009g

今回はリクエストデータで東京の現在の天気としていますが、

上記のソースコードの12行目を変更すれば、名古屋や大阪などの天気を表示することもできます。

このようなリクエストデータやレスポンスデータの仕様は、以下に書かれています。

 

このようにWeb APIをうまく使えば、楽してリッチなコンテンツの作成ができます。

Web APIってほんとすごいし、おもしろいですね。

 

macでgrapできるエディター TextWrangler

 

macでgrapできるエディター TextWrangler の使い方をメモしておきます。

 

確認環境:TextWrangler version 5.0.2

 

TextWrangler は、mac App Storeでダウンロードできます。

 

使い方:

shift + command + F キーを押して、「Multi-File Search」画面を表示します。

TextWranglerでは、grapのことを、Multi-File Search と呼んでます。

 

Tip_00_02_001a

「Other」ボタンを押して、grepする場所を選択します。

そうすると、「Search in」に反映されます。

 

Tip_00_02_001b

 

「Find」にgrepしたいキーワードを入力し、「Find All」ボタンを押下します。

 

Tip_00_02_001c

 

すると、こんな感じでgrep結果が表示されます。


Tip_00_02_001d

 

「Filter」のリストから「New」を選択すると、grep条件の詳細な設定ができます。

例として、ファイルの拡張子が「.swift」のファイルだけを表示するようにするなら

こんな風に設定してください。

 

「Any/All」の横の欄は、このFilter条件につける適当な名前を入力しておけばOKです。


Tip_00_02_001e

 

そうすると、こんな感じでgrepのFilter条件が表示されます。

Tip_00_02_001f