LINEミニアプリの「サービスメッセージ」を試してみた② : 下準備

2 min read読了の目安(約2100字

BULB加藤です!

前回(https://zenn.dev/bulb/articles/b10f61b983a949)に引き続き、LINEミニアプリのサービスメッセージ実装をやっていきたいと思います。

①:概要確認 https://zenn.dev/bulb/articles/b10f61b983a949
②:開発環境準備 https://zenn.dev/bulb/articles/8528cd7d830532
③:サーバ構築 https://zenn.dev/bulb/articles/e369d3e41935ec
④:ミニアプリ開発 https://zenn.dev/bulb/articles/7b576300730c42
⑤:APIをデプロイ https://zenn.dev/bulb/articles/3b237d1fdc1183

トークン取得 / サービスメッセージ送信を行うサーバーをHerokuで作る

まずはサービスメッセージ実装のコアとなるAPIサーバーを構築。今回は開発検証でパッと試してみたかったので、Docker / Herokuで環境を作ってやってみます。

お手軽にPHPでいっちゃいます。数年ぶりのバックエンド構築・・

HerokuでCreate New App

とはいえリクエストに基づいてトークン取得してデータを返すだけなのでカンタンです。

とりあえずAPIの置き場所となるサーバーをHerokuに置く。

https://qiita.com/Teaki/items/294b0f1a8ef55e53b04f

以前LIFFアプリのホスティングもHerokuでやったので、こちらの記事も参考になるかと。

https://zenn.dev/bulb/articles/fb0666bb027a79#herokuでcreate-new-app

dockerでPHP環境を構築

ここを参考にローカルでPHP環境をサクッと立ち上げる。

https://qiita.com/yamaking/items/b9d44b979a6d4abf438f

DBは使わなくても検証はできるので、PHP infoが表示できるところまでいければOK。

www/html で git initしてデプロイ

プログラムのソースとなる www/html でgit initして、とりあえずherokuに反映させてみます。

$ cd /www/html # index.phpがあるディレクトリへ移動
$ git init
$ heroku git:remote -a {Herokで作成したアプリ名}

せっかくなのでindex.phpの中身をhello worldに書き換えておく

index.php
<?php
  echo 'Hello World!';
?>
$ git add .
$ git commit -m 'initial commit'
$ git push heroku master

Herokuから[Open App]でアクセスした先でHello World!が表示されていたらOKです。

このページのURLがミニアプリからサービスメッセージを送るためのアクションを起こした際のリクエスト先となります。

トークンの下準備

あらかじめサーバー側で「チャネルアクセストークン」というものを取っておく必要があります。

本来はサーバーから自動で取得しておくようにすべきでこれが正しい方法ではないかと思うのですが、ドキュメント内にお試しでリクエストしてトークンを取得できるところがあったので、これを使って「短期のアクセストークン」を取っておきます。

https://developers.line.biz/ja/reference/messaging-api/#issue-shortlived-channel-access-token

※client_idとclient_secret はミニアプリの開発審査に通っている場合にコンソールから確認できます。

access_tokenが取れました。後で使うのでメモっておきます。

次回は実際にトークンの取得を進めていきます!