通过 gcloud CLI 认证从本地脚本写入 Google 表格

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

最近,我需要从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来实现项目的生产化,定期收集和处理数据。

🏷️

标签

➡️

继续阅读