认证身份 channel access token
记得有用到讯息传送就必须要用到channel access token喔~//认证身份 channel_access_tokenvar CHANNEL_ACCESS_TOKEN='??????' //输入自己 LINE BOT 的 channel_access_token
回传 User ID 机器人
1.首先到官方网站确认自己LINE BOT的channel access token并複製下来
2.进入Google Apps Script专案内,打入简单的测试用code
//认证身份 channel_access_tokenvar CHANNEL_ACCESS_TOKEN='??????' //输入自己 LINE BOT 的 channel_access_token//主程式跑的地方(main)function doPost(e) { //当网页有Post请求时就会依据网址来执行这doPost var msg= JSON.parse(e.postData.contents); //将事件(e)内的文字讯息解析出来 //msg内部存放着全部LINE事件产生的全部讯息 var replyToken = msg.events[0].replyToken; //replyToken是每个能够reply的事件一定会附属的令牌 var userMessage = msg.events[0].message.text; //解析使用者传出的讯息内容 var userid=msg.events[0].source.userId; //专属于你的User ID reply_message(replyToken,userid); //使用reply_message这function来回覆讯息}// 这是对于讯息回覆的程式码// https://api.line.me/v2/bot/message/reply 为官方公告的 reply apifunction reply_message(replyToken,reply,url='https://api.line.me/v2/bot/message/reply'){ UrlFetchApp.fetch(url, { 'headers': { //JavaScript的headers 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, //带入LINE BOT的channel_access_token }, 'method': 'post', //使用POST的方式回传 'payload': JSON.stringify({ //将讯息转为JSON格式,JavaScript常用JSON传输资料 'replyToken': replyToken, //每个reply事件专属的replyToken 'messages': [{'type': 'text','text':reply}] //回传文字讯息,内容为reply也就是userMessage }), });}
3.按下储存并依照上一篇教学方式新增部属 (方式如同上一篇)
4.去到原先创立LINE BOT的官方网页并改掉Webhook URL (同上一篇)
5.最后去跟LINE BOT对话,他将会回覆你的User ID
LINE BOT 讯息传送方式
LINE BOT 总共提供了三种的讯息传送的方式1.reply message (有一对一回覆的限制,而且一次只能回覆一次的限制)
2.push message (可以在任何的时机下自由的向一个地方传送讯息)
3.multicast message (就是一个可以一次向多个地方传送讯息的功能,属于PUSH的加强版)其中reply是完全免费;而push、multicast两个合计每个月都有一定的上限次数
利用 Google Apps Script 传送 LINE 讯息
1.reply message
// 上方的 reply_message 就是用来回覆 reply message 的// 为了节省版面这边就不在次附上
2.multicast/push message
// 为了方便起见,我个人都只有使用multicast来传送讯息,所以这边就附上multicast的程式码// 另外若想要用push来传送讯息就只需要更改成push以及单纯使用一个使用者(userid)就可以了function push_message_userid(reply,userid){ UrlFetchApp.fetch('https://api.line.me/v2/bot/message/multicast', { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'to':[userid], 'messages': [{'type': 'text','text': reply}] }), });}
传送测试讯息
我个人常常运用push_message_userid传送给自己来Debug//认证身份 channel_access_tokenvar CHANNEL_ACCESS_TOKEN='??????' //输入自己 LINE BOT 的 channel_access_tokenfunction myfunction(e){ userid='??????' //输入自己 userid (刚刚上面机器人回传的那乱码) push_message_userid("测试文字",userid)}// 记得push_message_userid也要放在档案内喔~~function push_message_userid(reply,userid){ UrlFetchApp.fetch('https://api.line.me/v2/bot/message/multicast', { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'to':[userid], 'messages': [{'type': 'text','text': reply}] }), });}
在Google Apps Script执行完后,LINE就会马上跳出讯息了~
【LINE BOT 翻译机器人】 系列
(1) 操作说明与应用
(2) 建立LINE BOT及Google Apps Script专案
(3) 连结 Google sheet 与 LanguageApp 翻译功能
(4) 用 Google Apps Script API 传送 LINE 讯息
(5) LINE 各事件 event & 各讯息 Message 及 官方文献
(6) 为各位呈现 原始程式码 啦~~
接案 (☛´∀`*)☛ LINE ID:albert20699