LIFF開発メモ
チャネルでアクセス権を管理
チャネルのステータスが初期設定の非公開
であれば、
チャネルに登録している、権限がAdmin
かTester
のメンバーだけに表示を許可できます。
権限を与えられていないLINEアカウントでLIFFにアクセスした場合はエラーを返します。
400 Bad Request
チャネルのメンバーは、タブの権限設定から確認できます。
自分だけのグループトーク
LIFFには、LINEアプリのトークルームから起動しないと使用できない機能があります。
(KeepからLIFFを開いてデバッグしたら、sendMessageが権限エラーで利用できなかった経験あり)
とはいえ、開発中のLIFF URLを誰かにあててトークで公開するわけにもいかないため
開発中のLIFF URL
を開くために、自分だけが参加しているトークをつくると便利です。
-
トークルーム作成
を開く -
グループ
を選ぶ -
友だちを選択
画面で誰もえらばずに次へ
-
メンバー
が自分だけなのを確認して作成
LIFFは公開すると非公開に戻せない
チャネルのタイトル付近にある、ステータス非公開
を選択すると
確認をはさみ、ステータスを公開
へ変更できます。
チャネルを公開すると、LIFF URLから誰でもサービスへアクセスできるようになります。
ローカルで編集中のソースをデバッグ
チャネルには、複数のLIFFを登録できるため
開発者ごとのローカル環境用のLIFFを設置して、エンドポイントへ各自のローカルアドレスを登録する使い方ができます。
LIFF IDは、環境変数から参照する設計にしておくと
PRDやSTGだけでなく、開発者ごとの環境でも手軽に切り替えられて便利です。
LINEアプリからローカルLIFFを開いて動作確認
LINEアプリからLIFF URLを開くと、LIFFブラウザというLIFFアプリ専用のブラウザが起動します。
このLIFFブラウザは、ローカルネットワーク内でのみ表示可能なURLを表示できない仕様になっていて
Safariからは表示できるlocal IPのアドレスも、このようなエラーになります。
トンネリングツールを利用するとLIFFブラウザでも開発ソースをデバッグできる
このようなときはngrokやlocalhost.runといったトンネリングツールを利用すると
コンテンツを世界に公開するURLを発行できるため、LIFFブラウザからもデバッグできます。
localhost.runの場合、このようなsshコマンドを実行すると
localhost:8080を表示できるhttpsから始まるランダム文字列をはさんだURLを発行できます。
ssh -R 80:localhost:8080 nokey@localhost.run
(省略)
c68e10099e8101.lhrtunnel.link tunneled with tls termination, https://c68e10099e8101.lhrtunnel.link
発行されたURLを開発LIFFのエンドポイントへ設定すると、LIFFブラウザでも開発中のソースを確認できます。
トンネリングツール
LIFFブラウザで開発中のローカルソースをデバッグしたいとき、トンネリングツールを利用します
localhost.run
コマンドラインのsshで実行でき手軽です。
ときどき繋がらなくなります。(2021年〜1年半ほど使用させてもらった感想)
ssh -R 80:localhost:3000 nokey@localhost.run
(省略)
c68e10099e8101.lhrtunnel.link tunneled with tls termination, https://c68e10099e8101.lhrtunnel.link
localtunnel
最初にインストールが必要ですが、コマンドラインのsshで実行でき手軽で安定しています。
初回アクセスのときFriendly Reminder の同意画面が提示され、Click to Continue
ボタンでコンテンツが表示されます
npx localtunnel --port 3000
your url is: https://little-ties-join-118-236-119-204.loca.lt