koogawa blog

iOS、Android、foursquareに関する話題

LINE BOT API で bot を作ったときにハマったことメモ

LINEBOT APIが公開されたので、簡単な検索botを作ってみました。 botの作り方についてはすでにたくさんの良記事が公開されているので、ここでは主にハマりやすいポイントについてメモしておきます。

開発環境

アカウント登録

下記サイトからBOT API Trial Accountを登録します。

https://business.line.me/services/products/4/introduction

アカウントは1人あたり1つまで申し込めます。先着10,000名様まで利用可能だそうです。(4/9 17:00時点ではまだ申し込めるようです)

注意点

  • 友だち数上限は50人までです
  • 料金は無料です

実装方法

素晴らしい解説記事がすでに公開されているので、ここではリンクを貼るだけにしておきます。先人たちに感謝🙇🏻

ハマったポイント

Callback URLはHTTPS必須

公式ドキュメント

The callback URL must use HTTPS.

とあるように、Callback URLは HTTPS を利用する必要があります。HTTPで登録しようとするとエラーになります。

ポート番号を443にする必要がある

公式ドキュメントではあまり強調されていないのですが、Callback URLにはポート番号を指定する必要があります。

例:https://example.com:443/callback

Callback先をホワイトリストに登録しておく必要がある

Callback先のサーバーを予め「Server IP Whitelist」に登録しておかないと、サーバーからBOT APIをたたくことができません(StatusCode:427が返ってくる)。ホワイトリストはLINE developersの画面から登録することができます。

f:id:koogawa:20160409172820p:plain

Callback URLにリクエストがこない問題

サーバ側で使用しているSSL証明書によってはCallback URLにリクエストが通らない例があるようです。Twitterを見ると Let's Encrypt の証明書と相性が悪いようです。

成果物

キーワードをつぶやくと、それに関するノウハウ記事を教えてくれるbotを作りました。

f:id:koogawa:20160409173934p:plain

こちらから友達登録できます。(予告なく停止する可能性があります)

f:id:koogawa:20160409174015p:plain

リンク