google-apps-script - 这是否会使我超出 Google 电子表格 API 调用配额的风险?
问题描述
我正在使用谷歌电子表格来协作处理一些常见数据,并使用电子表格宏处理这些数据并将其保存在单元格中。这种方法很容易出错,因为处理数据的宏函数依赖于除了作为参数给出的输入之外的输入。
常见数据外观示例
Pages Sheet 对这些通用数据的解释
- 三张纸由不同的合作者填写
- 内容表定义页面的基本元素,它们在部分表(使用宏)中被引用(使用它们的 UUID),最后所有部分加在一起以制作可发布的 html 页面。
- 输出 html 格式取决于多个目的地 - 静态 html、Google 文档、Google 幻灯片、Word-press、MediaWiki 等。格式化是使用 GAS 宏完成的。
我尝试了各种解决方案,但没有任何工作正常。最后,我考虑将 google 电子表格仅作为数据源,并将整个计算转移到我的本地机器上。这意味着我必须下载大约 1,000 行的表格数据(3 张表格),但随着时间的推移会变得庞大。
早些时候,当整个计算都在谷歌电子表格上时,我只需要获取最终数据并使用它,这相当于少了很多 API 调用。参考上面的例子,这意味着我只会获取“页面表”的输出 html。
Q1)所以我的问题是,考虑到我计划将整个计算转移到本地机器上,如果我只调用 3 个 API 来批量获取三张表的数据并提取整个数据,它是否仍然算作 3 个 API 调用,还是大请求有不同的 API 成本?这种方式是否存在超额超额风险?
Q2)假设我使用钩子,电子表格钩子和驱动器钩子与实时更改同步,我的配额用完的风险是什么。每个钩子调用是否构成一个 API 调用。关于这样做的最佳实践的任何一般建议?
谢谢
解决方案
根据文档,默认情况下,Google Sheets API 每个项目每 100 秒限制 500 个请求,每个用户每 100 秒限制 100 个请求,除非您在项目中更改它。
A1)如果您发出一个请求,无论数据有多大,它都算作 1 个请求,因此我会发出一个请求以获取整个电子表格,而不是发出 3 个 API 调用,然后进行整个过程你之前提到过。
A2)如果您考虑过使用推送通知,请记住您将需要一些额外的配置,例如域。
作为一种解决方法,我建议您使用虚拟云端硬盘
由于您想将计算移至本地计算机,因此此选项会更好,但需要进行一些更改。例如,您可以将输出更改为 CSV,以便更好地处理数据,它仍然是Google 表格有效的文件类型,然后将您的应用程序托管在同一台机器上或使您的本地机器可访问。
推荐阅读
- c++ - OpenGL 三角形不会在 macOS 上渲染?
- php - Laravel 5.5 下拉框
- python - 结合多个标准
- r - 如何从 R 中的 coxph 和脆弱模型更改风险比的单位增量?
- c++ - 如何调用已保存在自定义结构向量中的成员函数指针?
- php-gmp - 无法在 mac os php@7.1 上安装/启用 gmp
- python - 将 N-Sum 减少为两个和
- php - 如何正确地从数组中获取信息以便可以插入数据库?
- flutter - 按下按钮时如何在 Flutter 上更改文本样式
- spring-batch - Spring Batch CompositeItemWriter 如何为委托编写者管理事务?