はじめに
こんばんは。
お仕事で LineのPushMessageを使うことがありました。
当然普通のテキストではなく、 FlexMessageです。
LineのDeveloperサイトではFlexMessageSimulatorというのがあるので、簡単じゃんと思ってました。
ただ、LineのDeveloperサイトで紹介されている PHPの公式SDKだと、せっかくSimulatorで組み立てたjsonなりyamlなりを展開して使わないといけないみたいです... (もしかしたら自分の調べが足りなくて、そういうメソッドあるのかも?)
できれば、 Simulatorで組み立てたjsonなりyamlをそのままペタっと貼り付けて使いたい。
ということでつくりました。
本題
作ったのは、以下です。
といっても、めんどくさかったので、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送りたい場合は簡単かと思います。
現場からは以上です。