用 Google 試算表當簡易資料庫

想做個自己進電影院看電影的紀錄
需要的資料格式很簡單就不想搞DB、弄後台介面
因此拿 Google 試算表當成簡易資料庫
然後取得JSON格式的資料變成API來做應用

# Google Sheets as a JSON Endpoint

  1. 檔案 > 發佈到網路
    要發布範圍跟類型就直接選整份文件網頁就好了
    點發佈後就能夠獲得文件的公開連結

    另外要點右上角的共用

    調整為知道連結的使用者都可以查看

  2. 透過文件的公開連結取得 Sheets 的 Key

    https://docs.google.com/spreadsheets/d/e/{ key }/pubhtml

  3. 取得 JSON 格式資料
    然後將 key 替換到下面這個格式的網址
    index 則是代表工作表的順序,需要取得第一張工作表的資料就填入1即可

    https://spreadsheets.google.com/feeds/list/{ key }/{ index }/public/values?alt=json

    回傳的資料格式如下,長的比較特別,就要再另外自己整理了

# Google Sheets API v4

前陣子發現我的電影紀錄偶爾會拿不到資料
甚至有一整天就直接掛掉
搜尋了一下找到這篇 (opens new window)建議升級使用 v4

只需要將網址替換為下面這個格式
https://sheets.googleapis.com/v4/spreadsheets/{ key }/values/{ 工作表名稱與範圍 }?key={ API Key }

  • key: 取得的方式與之前相同,也一樣需要將試算表設定為任何擁有連結的人都查看
  • 工作表名稱與範圍: 工作表名稱就真的是名稱,如果是中文最好用encodeURIComponent編碼過;如果想要加上指定範圍的話則像是: 工作表1!A:D 這樣指定只取得 A ~ D 的資料
  • API key: 就到 console (opens new window) 去啟用 Google Sheets API 然後申請一組API金鑰
    有要修改的話才需要OAuth用戶端ID,僅查看的話申請API金鑰即可

回傳的格式如下,比起之前更簡單易用了

# 應用😎

Last Updated: 2021/09/24 15:23:25