Hubot
ChatOpsDay 2

hubot-google-image で Google Custom Search API を利用する設定

More than 1 year has passed since last update.

長らく 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

これらふたつの値をを取得するための手順を以下に書きます。


カスタム検索エンジンを作成する

カスタム検索エンジンの作成 から新しいカスタム検索エンジンを作成します。

01_cse_create.png

作成したら、コントロールパネルからカスタム検索エンジンの設定を変更します。

02_cse_settings.png

これで「カスタム検索エンジンID」が取得できました。


API Key を作成する

Google Developers Console のプロジェクトを新しく作りましょう。

既にあるプロジェクトで API Key を発行する場合はそちらで構いません。

API Manager から Custom Search API を有効にします。

03_enable_api.png

次に、「認証情報」>「認証情報を追加」から新しい API Key を発行しましょう。

今回は Hubot から利用するための API Key なので「サーバーキー」を作成します。

04_create_api_key.png

これで「Custom Search API を叩く権限を持つ API Key」が取得できました。


Hubot に設定する

あとはこれらの情報を HUBOT_GOOGLE_CSE_ID HUBOT_GOOGLE_CSE_KEY として Hubot の環境変数として設定するだけです。