LINE Notify を Go でさくさく使うためのライブラリをつくった #golang

github.com LINE Notify については こちら

使い方

実例コードを用意してます。
認証通知 の2つ、サンプルがあります。

注意事項として、認証のサンプルはコールバック用の外部からアクセスできる URL が必要です。

通知のサンプルは、アクセストークンがあれば動きます。
アクセストークンは LINE Notify 管理画面でお試し発行できるので、それを使ってみてください。

認証について

通知用のアクセストークンを取得します。
具体的な流れは、

  1. /auth にアクセスした人を、LINE Notify 認証 URI にリダイレクト
  2. リダイレクト先で通知設定をしたとき、/callback に POST リクエスト
  3. 渡ってきたパラメータ(code)を使って、アクセストークンを取得

です。

/auth でやっていること

認証に必要なパラメータをセットして、認証 URI にリダイレクトしてます。
このとき CSRF 攻撃対策のために、state をもつようにしてます。

/callback でやってること

渡ってきたパラメータをパースします。
次に、state の値を比較して、正常なリクエストかどうかを確認します。
最後に、code をつかってアクセストークンを取得します。

通知について

アクセストークンをつかって通知します。

LINE Notify は、テキストだけではなく、画像を送ることもできます。
画像は、URL かバイナリで指定します。
もし仮に両方指定したときは、バイナリを優先します。

ちなみに GoogleAppEngine で使いたいときは、Client.HTTPClienturlfetch.Client を入れるようにしてください。

c := linenotify.New()
c.HTTPClient = urlfetch.Client()

ココロノセンリツ ~Feel a heartbeat~ Vol.1

とても良かった!

Vol.0と比べて、ももクロ色を削ぐ方向に舵をきっていたし、歌に対しての想いを感じた。

歌で魅せていくパワーあるし、また観たい。

ももクロへ楽曲提供があったりすると、すごく楽しい気がする。

前回発表されたもの含めて新曲を手元で聴きたいので、購入できる形の何かを何卒🙏

Docker を使って PHP 5.2 環境を用意してみる

先日、ひょんなことから PHP 5.2 環境を用意した備忘録。

利用した Docker イメージ

Pull

docker pull tommylau/php-5.2
docker pull tommylau/nginx
docker pull mysql:5.6

Run

docker run --rm --name mysql5.6 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.6
docker run --rm --name php -v /path/to/web:/var/www/html --link mysql5.6:mysql -d tommylau/php-5.2
docker run --rm --name nginx -v /path/to/web:/var/www/html --link php:php -p 9000:80 -d tommylau/nginx

確認

cat /path/to/web/index.php
<?php
echo phpinfo();

open http://localhost:9000