Google表單結合LineBot
我們今天要來跟大家分享把Google表單變成LINE bot問卷的方法。LINE bot問卷有個缺點,就是他的題型非常非常的單調,簡單來說只有問答題而已,為什麼當時的題型會那麼單調主要是有兩個困難點
第一個困難點就是如果我要分享給大家,我要如何讓大家知道我要怎麼去設定:
什麼樣的輸入方式會出現選擇題
什麼樣的輸入方式會出現時間
什麼樣的輸入方式會出現問答
這種規定太複雜了,除了會增加程式的困難之外,也會讓使用者撰寫題型會非常非常的困難。
第二個困難點就是LINE bot他的Template Message的限制,這種Message的按鈕在一個對話框裡面只有4個按鈕可以使用,但是我們實際上我們的選項不一定會只有4個,很常會超過,那這個時候就做不出來。
為了解決這兩個困難點的方式,第一個就是呢我問卷不要我們自己設計,我們交給Google表單來做,我們利用Google表單設計好的問卷之後,再靠程式就把他抓出來使用就好了,這樣子呢我就不用自己去限制怎麼樣打出來的資訊會呈現成選擇題。關於第二項困難呢,這幾個月Line他開放了他的flex message,有了flex message很多限制就被取消掉了,我們可以有更方便的呈現方式。
這一次我們分享給大家的程式裡面,關於Google表單所呈現出來的題型很多種,但是可以用在LINE Bot裡面來呈現的那個主要是下面這幾種:
第一個:選擇題而且是單選題
第二個:下拉式選單,其實下拉式選單選起來的結果,跟第一個選擇題很像都是屬於單選題只是選擇題多了一個其他的選項。
第三個:日期、時間、線性刻度還有簡答題這種格式
第四個:段落就是可以打文字的題型
第五個:標題與說明,它不是問題題型,它只是用來把問卷做一些分隔跟詳細解說所使用的。
這些東西是我們可以呈現在LINE bot這裡,其他東西其他的題型,與其說我們呈現不出來,不如說LINE bot呈現的方式沒有辦法使用他們,好比說核取方塊,其實它的核心概念是複選,可是在LINE bot這裡面他就是沒辦法做到複選,我不可以說選了好幾個東西再一次送出去,就像這些我們沒有辦法完美的在LINE bot這上面呈現的提型,就沒有使用它了,雖然我們可以用那麼多種題型,當然相對還是會有一些限制,畢竟Google表單跟LINE他是兩個不同體系的東西。
第一個關於上傳檔案這種題型的限制
a.一律都會變成必填問題,沒辦法自由選擇說它是屬於必填還是非必填。(不建議各位在LINE bot這裡面放上上傳檔案這種題型)
b.一次只能處理一個檔案。
c.檔案的大小只能現在10MB內,這個本身也是Google的限制,超過它就抓不到。
第二個是簡答題和段落的限制
a.簡答題呢在Google表單裡面他是一次只能打一行,沒辦法分段,在LINE裡面沒辦法限制使用者如何答題。
b.兩者皆無法在Line Bot內進行回應驗證。
第三個是線性刻度的限制
a.左右標籤加刻度,最多只能10個項目。
●舉例:左標籤 1 2 3 4 5 6 7 8 右標籤
左右標籤各佔一個刻度
接下來我們就來看看我們要怎麼製作這個程式了。
Line Bot基本建立及設定
在實作前請先到以下網址建立Line API
建立好後我們需要的是三個服務中的中間選項,也就是Line Bot
資料填寫完後,出現這畫面按ok就完成了。
再回到主畫面時就可以看到剛剛建立好的API
請選擇Messaging API,往下拉到最後可以看到Channel access token
初始值是空白的,只有一個Issue按鈕可以動作,按下後就會出現一長串憑證。
這會是等等要使用到的值
因我們的機器人是要我們自己去控制它的,所以建議把紅框中的功能關閉,接下來就要將Google表單結合Line Bot來做呈現。
紅框中的功能關閉
Google表單設定
現在請先回到表單設定,選擇Google Apps Script,我們要將程式碼埋入其中。
將表格命名為我們想要的名稱
記得要將時區調整為當地時間,否則在傳資料時可能會出現錯誤
將程式碼貼在此處
在右上方的部署 → 新增部署
選取網頁應用程式
將這一長串的編碼複製下來
把剛剛的編碼貼到 Webhook URL 這個位置
再把 Use webhoos 設定為 Enabled
最後我們回到Line看其中的效果吧。