もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

LineのPushMessageをFlexMessageで簡単に送りたい

はじめに

こんばんは。

お仕事で LineのPushMessageを使うことがありました。

当然普通のテキストではなく、 FlexMessageです。

LineのDeveloperサイトではFlexMessageSimulatorというのがあるので、簡単じゃんと思ってました。

ただ、LineのDeveloperサイトで紹介されている PHPの公式SDKだと、せっかくSimulatorで組み立てたjsonなりyamlなりを展開して使わないといけないみたいです... (もしかしたら自分の調べが足りなくて、そういうメソッドあるのかも?)

github.com

できれば、 Simulatorで組み立てたjsonなりyamlをそのままペタっと貼り付けて使いたい。

ということでつくりました。

本題

作ったのは、以下です。

github.com

といっても、めんどくさかったので、Json型しかサポートしてません...

ReadMeに書いてる通り、MessageBuilderJsonを implementsしたclassを作成して以下のように呼び出せばOK

<?php

$message        = new ExampleMessageBuilder();
$pushMessage    = new PushMessage($channelAccessToken);
$pushMessage->execute($to, new MessageBuilder($message));

getContents はstring型を返せばいいだけので、 jsonは別ファイルにして return file_get_contents('./output.json'); とかでもありだと思います。

終わりに

公式のSDKは他のAPIもガッツリサポートされてるので、その兼ね合いで、自分が作ったやつみたいに雑に使えないのかな?とも思いました。

まぁそんな感じで、雑にpushMessage送りたい場合は簡単かと思います。

現場からは以上です。