長らく DEPRECATED だった Google Image Search API がとうとう使えなくなった模様です。
Hubot の hubot-google-images も(何も設定していなければ)この API を叩いて画像を取得していたので、「突然 Bot が画像をとってきてくれなくなった!」という人もいるのではないでしょうか。
もともと hubot-google-images の README には「Custom Search Engine の設定しろよな」と書いてあり、この通りに設定をすれば問題ないのですが、その手順をもう少し詳しく解説するのがこのエントリです。
注意点
Google Custom Search API は 1日 100 リクエストまでは無料ですが、それ以上は 1000 リクエストにつき $5 かかります。注意しましょう。
手順
hubot-google-images で画像検索を行うのに必要なものは以下のふたつです。
-
HUBOT_GOOGLE_CSE_ID
: カスタム検索エンジン ID -
HUBOT_GOOGLE_CSE_KEY
: Custom Search API を叩く権限を持つ API Key
これらふたつの値をを取得するための手順を以下に書きます。
カスタム検索エンジンを作成する
カスタム検索エンジンの作成 から新しいカスタム検索エンジンを作成します。
作成したら、コントロールパネルからカスタム検索エンジンの設定を変更します。
これで「カスタム検索エンジンID」が取得できました。
API Key を作成する
Google Developers Console のプロジェクトを新しく作りましょう。
既にあるプロジェクトで API Key を発行する場合はそちらで構いません。
API Manager から Custom Search API を有効にします。
次に、「認証情報」>「認証情報を追加」から新しい API Key を発行しましょう。
今回は Hubot から利用するための API Key なので「サーバーキー」を作成します。
これで「Custom Search API を叩く権限を持つ API Key」が取得できました。
Hubot に設定する
あとはこれらの情報を HUBOT_GOOGLE_CSE_ID
HUBOT_GOOGLE_CSE_KEY
として Hubot の環境変数として設定するだけです。