大家好~
这几天应该对 line-bot-sdk-php
有了一些初浅的认识啦~
不过在 line-bot-sdk-php
的 README.md 上有提到的 line-bot-sdk-tiny
一直都没介绍到,
今天就来看一下 line-bot-sdk-tiny
吧!
下面这段话是 line-bot-sdk-php
在 README.md 上的一段简介:
A very simple SDK (subset) for the LINE Messaging API for PHP. line-bot-sdk-tiny provides a simple interface and functions which makes it a good way to learn how to use the LINE Messaging API.
相对於原本 line-bot-sdk-php
实作的那些功能,
line-bot-sdk-tiny
真的是 simple 非常多!
今天用 line-bot-sdk-tiny
实作 Flex Message,
顺便看一下 line-bot-sdk-tiny
。
原始码的部分就不太会贴上来啦,
这边附上 GitHub 的连结,
如果已经下载过了,
也可以从以下路径中找到档案喔~
vendor/linecorp/line-bot-sdk/line-bot-sdk-tiny/LINEBotTiny.php
那就先从 parseEvents()
开始吧!
parseEvents()
会帮我们对 Request 做哪些检查呢?
主要是在设定回传讯息时 Request 的 HTTP header 与 API URL ,
Channel access token 也会被放入 header 的 Authorization 内。
也会帮我们把要回传讯息的内容转成 JSON 喔~
LINE Messaging API 签名的产生方式是用 sha256 与 Channel secret 对 Request body 进行加密後,
输出二进位的结果,
再用 base64 做编码。
$linebotTiny = new LINEBotTiny(
env('LINE_BOT_CHANNEL_ACCESS_TOKEN'),
env('LINE_BOT_CHANNEL_SECRET')
);
$event = $linebotTiny->parseEvents();
$replyToken = $event[0]['replyToken'];
$flexContent = 'Flex message content...';
$linebotTiny->replyMessage([
'replyToken' => $replyToken,
'messages' => [
[
'type' => 'flex',
'altText' => 'this is a flex message',
'contents' => $flexMessageContent
]
]
]);
return response('HTTP_OK', Response::HTTP_OK);
范例中的变数 $flexMessageContent
就是 PHP Array 格式的 Flex Message,
但因为内容过长,
就不放上来占版面啦,
先用一段字串示意一下。
会发这篇主要是因为昨天使用 Flex Message 时,
感觉到 line-bot-sdk-php
的不便之处...
在 FLEX MESSAGE SIMULATOR 上设计好模板後,
还要用符合 FlexMessageBuilder
要求的方式将刚刚设计好模板实作出来,
对我而言使用起来不是那麽的便利...
所以想说分享一下 line-bot-sdk-tiny
。
由於 line-bot-sdk-tiny
原始码不多,
但 LINE Messaging API 的基本功能他都具有,
所以从 line-bot-sdk-tiny
开始认识 LINE Messaging API,
也是种不错的方式吧~
大家明天见啦~
若文章有任何问题,
还请大家不吝赐教!
<<: Angular ViewChild 与 ViewChildren 介绍
角色情境 小明同时学会输入指令操作着终端机、 以及透过滑鼠操作着图像化介面的 Sourcetree ...
免接触 免拿笔签名 流程 人进场 --> 手机扫描 QR --> 填写资料 -->...
Flow 是属於 coroutine 范围项目,coroutine 中一个重要的特点可以轻易的切换执...
大家好,我是乌木白,今天想和大家谈谈专注力这件事情。 浅谈自己的专注力 认识我的人,都知道其实我的...
在新建立的小试用专案内熟悉所有会使用的UI界面与其功能性,并尝试组成一页界面,用於练习。而编辑程序码...