通过 gcloud CLI 认证从本地脚本写入 Google 表格
内容提要
最近,我需要从GitHub API获取数据并发布到Google表格,以便分享代码审查的工作量图表。我用Node.js编写脚本,最初手动复制CSV数据到Google表格。后来,通过gcloud CLI设置应用默认凭据,调整OAuth范围,实现了本地认证,并用Node.js客户端将数据追加到表格中。这样可以每月收集指标并添加新行,而不删除旧数据。
关键要点
-
需要从GitHub API获取数据并发布到Google表格,以分享代码审查的工作量图表。
-
使用Node.js编写脚本,最初手动复制CSV数据到Google表格。
-
通过gcloud CLI设置应用默认凭据,调整OAuth范围,实现本地认证。
-
使用gcloud CLI的应用默认凭据作为OAuth代理,扩展Google账户的认证权限。
-
启用Google Sheets API,并设置应用默认凭据以获取读写权限。
-
初始化Node客户端以访问Google Sheets,并使用适当的OAuth范围。
-
使用append方法将数据追加到表格中,以便每月收集指标而不删除旧数据。
-
建议每个表格每秒最多发送一个API请求,以避免数据覆盖问题。
-
考虑将项目生产化,可能会使用Cloud Scheduler和Cloud Run Jobs。
延伸问答
如何从GitHub API获取数据并发布到Google表格?
可以使用Node.js编写脚本,通过gcloud CLI设置应用默认凭据,实现本地认证,然后使用Google Sheets API将数据追加到表格中。
gcloud CLI如何帮助实现Google表格的认证?
gcloud CLI通过设置应用默认凭据,扩展OAuth范围,作为OAuth代理来实现Google表格的认证。
在Node.js中如何初始化Google Sheets客户端?
可以使用googleapis库中的GoogleAuth类,设置所需的OAuth范围,并获取客户端实例来访问Google Sheets。
如何将数据追加到Google表格中而不删除旧数据?
使用Google Sheets API的append方法,可以将新行追加到表格中,而不删除已有的数据。
使用Google Sheets API时有什么注意事项?
建议每个表格每秒最多发送一个API请求,以避免数据覆盖问题。
如何将项目生产化以便定期收集数据?
可以考虑使用Cloud Scheduler和Cloud Run Jobs来实现项目的生产化,定期收集和处理数据。