今天要接着完成部署 GAS 专案并且让 Line Bot 可以简单的回应验证码给使用者。
首先我们要把之前做好的 GAS 专案(Read Mail
)部署为资料库,这样就可以像使用 GmailApp 一样在其他专案使用这个 GAS 专案。
Reply Message
负责接收 Webhook Message Event (之後会解释这是什麽),Event Object 中可以拿到三个资讯
replyToken
: 用来回应使用者讯息的单次使用Token,很快就会失效userId
: 使用者的 line user tokenmessage
: 使用者发送的讯息内容格式等资讯Reply Message
会检验 message
中使用者是否发送了 "获取验证码" 的文字讯息
Reply Message
提供 userId
给 Read Mail
专案Read Mail
读取验证码,并将 userId 等纪录写进 Google Sheet 中,再回应验证码给 Reply Message
Reply Message
利用 replyToken
回应使用者验证码为了符合以上的构思,需要把 Read Mail
专案稍作修改
首先把 insertToSheet
改成如下:
function insertToSheet(sheet, content, userID) {
Logger.log('start to insertToSheet');
var lastRow = sheet.getLastRow();
var range = sheet.getRange(++lastRow, 1, 1, 3);
range.setValues([[content, userID, new Date()]]);
}
接着把 app.gs
改成如下:
function app(userId) {
var content = readMail();
var sheet = connectToSheet();
insertToSheet(sheet, content);
var validationCode = readFromSheet(sheet);
return validationCode;
}
更新完记得存档唷!
Read Mail
专案部署为资料库首先点选 GAS 介面右上角的部署
接着在左边选取类型的齿轮点一下,选择资料库
说明的地方输入 Read Mail,然後按下部署
然後就可以看到部署的结果罗~图中的资料库网址可以看到资料库的简易使用说明页面
接着我们建立一个新的 Reply Message
专案如下:
Read Mail
作为资料库然後点选左边资料库的+号,新增一个资料库
这里要输入的指令码 ID 可以在 Read Mail
专案的专案设定中找到
输入指令码 ID 後按下查询,成功的话就会显示如下图
版本的部分可以选择最新,也可以选择你想要的部署版本
成功载入资料库罗!
Read Mail
接着我们将 Reply Message
的 app.gs 修改如下:
function app() {
var validationCode = ReadMailAndInsertToGoogleSheet.app('testUser');
Logger.log(validationCode);
}
修改完後记得储存!接着按下执行~第一次执行一样会要求审查权限,然後来看看成果吧~
如果想了解更多关於 GAS 资料库的用法可参考文件 Libraries
今天就先到这里~毕竟等下要来为99购物节备战(?!)
明天终於要进入 Line Messaging Api 的应用~会接受 Webhook Message Event,并且透过 replyTokne 回应使用者验证码。
其实用 GAS 示范简单串连 Line Bot 是可以非常快速的,网路上也有很多相关的教学文章,但因为本系列文章的其中一个目的是尽量比昨天多进步一点,如果都是以前使用过的东西就太无趣了~像这次将 GAS 部署为资料库,对笔者来说就是新东西(之前都只有部署成 Web App doPost())。也是这次写文章才发现 GAS 现在有了新版的编辑器介面,也支援了更多服务,时代果然是一直在进步呀~想停留在原地你得不停的奔跑!
<<: Day7 我想知道它哪里比我好很多 在你心中它和我有什麽不同
其实这次就已经有一个铁人赛组别完全是 DevOps 了,如果对於这个领域想要比较深入的了解,可以去看...
聊天机器人主要分为两种类型: 以工作为导向 (宣告式) 的聊天机器是专注於执行一项功能的单一用途程序...
接下来介绍「删除英雄」的实作方法。 删除介面设计 我规划是在每个项目後面增加一个删除按钮,按下该按钮...
1.前言 OK,今天要来说说Code的部分,上一篇我们把资料储存在Google Sheet中,那今天...
hi~我们今天要讨论有关solidity合约内容,今天的内容会延续昨天的!所以如果还没看昨天的建议...