[笔记] 将 Google Sheet 变身成 API Server ( 汇入 JSON 和输出 JSON )

章节连结

Google Sheet 的额外衍生应用之一,就是可以当作简易的 API Server 来取得 Google Sheet 表单内的资料。当你取得表格内的资料后,再加以编辑一下就可以显示到前端的画面上了。此外,透过 Google Sheet API v3 所拿回的资料,默认会带有 CORS Header,算是挺方便的 ( 截至 2021 年旧版的 API 尚未关闭的情况下 )。
google-sheet-as-an-api-server-import-json


步骤

主要分为两个部分:“汇入 JSON 到 Google 试算表”和“从 Google 试算表 API 输出 JSON ”

汇入 JSON 到 Google 试算表

1. 首先,打开一份空的 Google 试算表,点选“工具”中的“指令码编辑器”
google-sheet-as-an-api-server-import-json-and-export-json demo3

2. 默认会有一个 function ,将其清除后,贴上 import_json_appsscript.js 这段 JavaScript 的内容
google-sheet-as-an-api-server-import-json-and-export-json demo23. 同时,要将左边的档名改为 ImportJSON.gs ,这也是你在试算表中要取用的函式名称
4. ImportJSON(“<url>”,”<key1>”,”<key2>”),会有三个参数。第一个 url 要直接能取到 .json 档案,最方便的莫过于 Dropbox。但是要记得在分享的连结后面加上 “?dl=1” (“”请忽略),这样才能直接下载
5. key1 的部份,是 object 的 key 的关系,下面是一个例子

6. key2 的部份是一些额外的设定,像是 “noInherit,noTruncate,rawHeaders” … 等

从 Google 试算表 API 输出 JSON

1. 选择“档案”,然后点选“发布到网络”
2. 你可以点选发布的范围,如果你没有太多的想法,那就点选“整份文件”、“网页”的模式发布
google-sheet-as-an-api-server-import-json-and-export-json demo4

3. 发布后,还需要点选右上角的“共用”,取得“复制连结”中的隐藏 key
https://docs.google.com/spreadsheets/d/<隐藏的 key>/edit?usp=sharing
4. 接着 把“隐藏的 key”和 sheet index (从 1 开始),带入以下的连结
https://spreadsheets.google.com/feeds/list/{key}/{sheet index}/public/values?alt=json
5. 取得之后,你多半会需要再进行一些额外的处理,才能整理成自己预期的 api 格式。以下是个 Demo:


资料来源

1. How to import JSON data to a Google Sheet
2. 把 Google 试算表当数据库,并取得 API 实作心得

按赞加入粉丝团

延伸阅读