最近工作为了写测试想要敌不动我不动,敌欲动我先跑。
想要藉由抓 Google Sheet 资料来检查目前系统参数是否正常,
但是又不想要每次如果系统一有改动我都还要...
开Ticket -> 改 Code -> Code Review -> Merge 。
那如果使用 Google Sheet,我就只要改上面的参数,旁边纪录一下就完事了~
顶多规定旁边注记更动人,并且 Google 还帮你版控。
是不是方便很多!?
最初其实我本来就有串过 Google 官方提供的 Sheet API,不难...但是说实话什么都要自己来满累的,于是乎我去 npm 找了一下相关套件。
于是乎找到了这个
google-spreadsheet
先来看成果
範例资料
执行结果
目前个人使用体验满不错的,今天也手把手教大家怎么串。
基本上步骤只有三个~
申请一组凭证
先建立专案 (Google Developers Console连结)第一次使用的可能会看到这个,同意就好(X













开启 Google Sheet 权限
点选共用

串起来!
先来安装一下刚刚讲的套件,
老司机的你一定知道怎么做。
npm install google-spreadsheet
直接开写
// googleSheet.jsconst { GoogleSpreadsheet } = require('google-spreadsheet');/** * @param {String} docID the document ID * @param {String} sheetID the google sheet table ID * @param {String} credentialsPath the credentials path defalt is './credentials.json' */async function getData(docID, sheetID, credentialsPath = './credentials.json') { const result = []; const doc = new GoogleSpreadsheet(docID); const creds = require(credentialsPath); await doc.useServiceAccountAuth(creds); await doc.loadInfo(); const sheet = doc.sheetsById[sheetID]; const rows = await sheet.getRows(); for (row of rows) { result.push(row._rawData); } return result;};module.exports = { getData,};
Sheet 的 docID 和 sheetID 请参照以下网址规则。
https://docs.google.com/spreadsheets/d/<docID>/edit#gid=<sheetID>
而 ./credentials.json
就是你刚刚下载的凭证,记得路径和名字。
执行它
// test.jsconst { getData } = require('./googleSheet.js');(async () => { const resp = await getData('<docID>', '<sheetID>'); console.log(resp);})();
此篇到此结束~
希望对你有帮助~
另外这官方也有满详细的文件可供参考,可点击以下连结看一下,如果是英文真的看不懂也可以与我私下讨论或底下留言。
google-spreadsheet