LINE Notify を Go でさくさく使うためのライブラリをつくった #golang
github.com LINE Notify については こちら
使い方
実例コードを用意してます。
認証 と 通知 の2つ、サンプルがあります。
注意事項として、認証のサンプルはコールバック用の外部からアクセスできる URL が必要です。
通知のサンプルは、アクセストークンがあれば動きます。
アクセストークンは LINE Notify 管理画面でお試し発行できるので、それを使ってみてください。
認証について
通知用のアクセストークンを取得します。
具体的な流れは、
/auth
にアクセスした人を、LINE Notify 認証 URI にリダイレクト- リダイレクト先で通知設定をしたとき、
/callback
に POST リクエスト - 渡ってきたパラメータ(code)を使って、アクセストークンを取得
です。
/auth でやっていること
認証に必要なパラメータをセットして、認証 URI にリダイレクトしてます。
このとき CSRF 攻撃対策のために、state をもつようにしてます。
/callback でやってること
渡ってきたパラメータをパースします。
次に、state の値を比較して、正常なリクエストかどうかを確認します。
最後に、code をつかってアクセストークンを取得します。
通知について
アクセストークンをつかって通知します。
LINE Notify は、テキストだけではなく、画像を送ることもできます。
画像は、URL かバイナリで指定します。
もし仮に両方指定したときは、バイナリを優先します。
ちなみに GoogleAppEngine で使いたいときは、Client.HTTPClient
に urlfetch.Client
を入れるようにしてください。
c := linenotify.New() c.HTTPClient = urlfetch.Client()