LV. 37
GP 2k

【閒聊】養成機器人教學(Day 8) 寫入、讀取的存放

樓主 敵會跪 jack12345520
GP1 BP-
前言

我們前兩天花時間在Firebase配置上
那配置的用途主要是在做什麼呢?
以下略為簡述


資訊清單的配置

以下程式碼主要是 取得授權
在GAS的很多函式 或是與API的連接
都需要特定的授權
下圖包括你的
                     Google帳戶
                     Firebase資料庫
                     外部請求  的授權

這裡的資訊清單 還管理了一些東西
你所在的地區、Libarary程式庫
或是試算表有哪些設定...等
也都在這個檔案設置




資料庫讀、存取的位置

還記得我們在Day5所提到 父子節點的概念嗎?
在Firebase的每一個資料  都有點對點的位置
概念就是類似父子節點
我們在最後測試了「得到一個蘋果」
把蘋果的資料存到我們的資料節點中




GAS是怎麼判斷要丟到哪個位置呢?
靠我們寫好的db_url()
我們要存到使用者ID底下的info節點的話
那UrlfetchApp請求的網址會是
https://你的Friebase資料庫.firebaseio.com/
                                                      senderId/
                                                      info.json?access_token=你的密鑰


我們另外對 傳進來的參數 做處理
簡短講就是 我們依靠db_url(senderId,"info")得到我們要讀、存取的位置
那假如我們把某技能存到使用者底下的某個角色裡的skill節點
那我們請求的Url就會是db_url(senderId,"Kirito","skill")


那怎麼存呢?
我們對資料庫發出請求即可 就像我們發訊息那樣
使用UrlfetchApp發送請求
利用已經寫好的db_postData()或db_putData()
在這邊請注意post跟put兩個寫入的方法有差異
Put寫入是更新覆蓋(不管有沒有資料都覆蓋)
Post寫入是新增(直接新增一筆資料)

舉例:● 從各種寶箱可能得到不同道具
               就要用Post.你的包包才會增加道具
               每次Post每次新增一筆

           ● 你想要更新你的職業
              從平民轉職成黑色劍士
              那麼就要用Put更新你的這唯一性資料




讀取資料庫

在Day6 的時候有提過
可以把已經爬過的資料
直接存在資料庫中
以下就直接做做看吧!
覆蓋doPost()即可

首先我們要知道存的位置有沒有資料
利用db_url()取得位置



那如果資料庫沒有我們的資料
我們就初始化一個物件
然後爬蟲爬我們勇者小屋去找資料
接著使用db_putData()存放資料




當我們說hello的時候
為了要讓機器人認得我們  知道我們是誰
我們再從資料庫取一次資料







結語

我們這一章講述了資訊清單的配置
資訊清單用來解決我們授權的問題

我們也知道如何取得讀取、寫入資料庫的位置
如同節點 點跟點之間的概念
以及我們這個請求如何操作

最後我們示範了
如何把已經做過的事、取得的資料存入資料庫
避免下一次又做同樣的事
如此以來也有助於提升速度

不知道這一章  對你認識資料庫是否有幫助呢?
如果有   那麼我非常開心能幫到你
我們下一章見囉
1
-
未登入的勇者,要加入 2 樓的討論嗎?
板務人員:

0 筆精華,吸收日月精華中
一個月內新增 0
歡迎加入共同維護。


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

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