因為最近看到「哈哈姆特不EY聊天機器人創作大賽」,所以來玩玩看聊天機器人,此篇文章是紀錄我把Firebase連接到Google Apps Script中。
主要是因為想要做當你對它說"嗨",它可能回覆你"哈囉"、"你好"、"Hello",想使用JSON格式,所以才採用NoSQL的資料庫。
首先到創個Google Apps Script (GAS)專案,並打開到編輯器裡,點擊"資源" > "程式庫"。
在以下彈出視窗中的新增程式庫,輸入FirebaseApp的程式庫的專案金鑰
"MYeP8ZEEt1ylVDxS7uyg9plDOcoke7-2l"
點擊"新增"。
選擇public release公開發佈的版本。
GAS這邊的程式庫引入了之後,接下來到Firebase建立一個新專案。
輸入自己定義的專案名稱、更改數據分析位置。
再來我們要找到此資料庫的密鑰。
點擊左上角的"設定"齒輪圖示 > "專案設定"。
移到"服務帳戶"頁面中,左側選擇"資料庫密鑰",底下即會出現資料庫對應的密鑰,點即顯示來複製。
我這邊是使用Firebase的Realtime Database,它還有另一個較新的Cloud Firestore有時間再來研究。
左邊點擊Database後,往下滾會看到Realtime Database,點擊"建立資料庫"。
這邊就以鎖定模式啟動即可,如之後存取資料庫有問題可用測試模式方便除錯。
完成後會看到如下頁面,目前資料庫裏頭是空的,上方的https://<專案名稱>.firebaseio.com/也複製起來之後用。
回到GAS編輯器裡,貼上以下程式碼,並修改<專案名稱>、<資料庫密鑰>成自己的。
function myFunction() {
var FIREBASE_URL = 'https:// <專案名稱>.firebaseio.com/';
var SECRET = '<資料庫密鑰>';
var database = FirebaseApp.getDatabaseByUrl(FIREBASE_URL, SECRET);
var data = {'嗨':['哈囉', 'hello']};
database.setData('chat/', data);
}
先在圖中的藍框處選擇函式,再點擊箭頭(紅框處)執行此函式。
第一次執行時會需要授權,點擊"核對權限"。
因為這個專案是我們自己創的,沒有經過驗證,所以會跳出此警告,不過不影響。
點"進階設定" > "前往"。
過來這邊按"允許"。
接下來應該會執行函式,如果沒有就再點擊箭頭執行。
回到Firebase頁面,看看是否成功把資料新增到資料庫中。
當你完成後就可以加到機器人測試~
我這邊還有寫個簡單的程式,讓我可以直接透過對話讓機器人記憶,並增加貼圖的回應。
一些基本的Firebase語法可參考: