創作內容

6 GP

Google Apps Script 連接 Firebase - 哈哈姆特不EY聊天機器人

作者:Jia│2019-07-03 12:30:38│巴幣:12│人氣:1710
因為最近看到「哈哈姆特不EY聊天機器人創作大賽」,所以來玩玩看聊天機器人,此篇文章是紀錄我把Firebase連接到Google Apps Script中。

巴哈《哈哈姆特不EY》Bot設計交流哈拉版上有基本的介紹及教學,有興趣的可以看看試試。

主要是因為想要做當你對它說"",它可能回覆你"哈囉""你好""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語法可參考:

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4447628
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Google Apps Script|GAS|Firebase|聊天機器人|哈哈姆特不EY聊天機器人

留言共 5 篇留言

八龍易主(´・ω・`)つ
查了外國討論區
有一個人提到這種Firebase取secret的方式
是不是已經被淘汰不用了?
https://stackoverflow.com/questions/53207906/how-to-integrate-firebase-into-google-apps-script-without-using-deprecated-dat

07-09 10:39

Jia
(我只是因為Realtime Database資料比較多,所以先試它...[e38])
確實Cloud Firestore會比Realtime Database更優秀,它算是新一代的Realtime Database,Google本身也推Cloud Firestore,所以可以的話當然建議選擇Cloud Firestore。
不過要注意兩者有一些差別,像是兩者的資料格式有些不太一樣、計價的方式。
參考:https://firebase.google.com/docs/firestore/rtdb-vs-firestore07-09 12:34
HAYATE
沒想過可以接firebase耶![e19]

07-09 10:57

Jia
當然可以啊~
或者你想要MongoDB也可~07-09 12:36
八龍易主(´・ω・`)つ
抱歉 想請問一下
我之前也是用Realtime DataBase寫聊天室的
看你這篇教學Realtime的部分還是可以正常使用
基本的讀取一些資料都沒有問題嗎?

07-09 13:07

Jia
是的
上禮拜測驗還是正常,你是遇到什麼問題呢?07-09 15:31
八龍易主(´・ω・`)つ
因為看到那個討論區說不行。 我一直還沒試著串接哈哈姆特機器人

07-09 15:57

Jia
這我就不太清楚了[e42]07-09 16:07
八龍易主(´・ω・`)つ
謝謝

07-09 17:28

我要留言提醒:您尚未登入,請先登入再留言

6喜歡★g919233 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:你的眼睛正常嗎? 顏色產... 後一篇:使用Python+Her...

追蹤私訊切換新版閱覽

作品資料夾

sakima55搞不懂他在想什麼
下班放鬆,不符合邏輯的拋腦後,一個sheet就能搞定的東西卻要搞成10多個excel真是有病。看更多我要大聲說昨天18:25


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】