问题标签 [google-apps-script-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
517 浏览

html - ScriptApp.getService().getUrl() 在发布应用程序后返回 null

即使我的代码部署为 Web 应用程序,以下代码的返回类型也会返回 null,

我试图在我的基于谷歌脚本的应用程序中链接多个 HTML,然后我点击了这个链接

为此,但是当我在下面的代码中检查我的返回类型时,它正在重新调整 null

根据此处提到的文档,仅当我的代码未部署时它才应返回 null,但我的代码已部署并且我从发布>部署为 Web 应用程序部署它,我还通过更改版本检查部署但没有任何工作替我出去。

0 投票
0 回答
457 浏览

ruby - 通过 ruby​​ 脚本执行 Google Apps 脚本(`check_status': notFound: 未找到请求的实体。(Google::Apis::ClientError)

我有一个谷歌应用程序脚本,它运行一个宏来在我的谷歌表上做事。我希望我的 ruby​​ 脚本执行 google sheet 中的宏。

尝试执行时遇到身份验证问题。剧本。我使用了下面的 ruby​​ 快速入门。

https://developers.google.com/apps-script/api/quickstart/ruby

一切正常,但它会打开一个品牌应用程序,因为这就是脚本的作用。我对其进行了修改,以针对显示在 google 网页上的同一列表中的其他脚本。我已经在下面尝试过

https://developers.google.com/apps-script/api/how-tos/execute

每次我运行它,我都会收到这个错误 `check_status': notFound: Requested entity was not found. (Google::Apis::ClientError)

这是我的代码

任何调试帮助将不胜感激。

0 投票
2 回答
6218 浏览

google-apps-script - 错误 429 在创建新的 Apps 脚本项目时资源已用尽(例如检查配额)

似乎存在通过 Apps Script API 使用配额创建的无法识别的 Apps Script 项目,并且我已达到(即 IAM 和管理控制台表明所有 API 使用量远低于其限制)。

此处的资源限制也未指定:https ://developers.google.com/apps-script/guides/services/quotas 。

getContent执行和create方法导致的错误。当时,可能有大约 100 个调用(这是在测试中完成的)。从额外的运行来看,错误似乎是由于未指定的使用期限限制(24 小时?)造成的。

需要增加配额,但如果没有在 IAM 和管理控制台中明显列出,很难确定如何做到这一点。

如上所述,施加的限制是什么或如何以其他方式确定,以及如何增加(如果可能)?

0 投票
1 回答
486 浏览

python - 带有服务帐户的应用脚本执行 API - HTTP 400 无效参数

我正在从 Python 脚本运行 Google App 脚本可执行 API。我正在使用服务帐户执行此操作,以便可以安排无人值守运行。

我尝试使用我自己的帐户来执行此操作,并且 OAuth 通过打开浏览器页面并请求授权来工作。在我授权脚本执行后。我已按照以下链接中的建议将范围授权给服务帐户

https://developers.google.com/identity/protocols/OAuth2ServiceAccount

当我使用我的帐户执行此操作时,脚本运行并通过被称为“这是一个”测试运行“的 App 脚本记录测试消息

当我使用服务帐户文件执行此操作时,出现以下错误

b'{\n "error": {\n "code": 400,\n "message": "请求包含无效参数。",\n "errors": [\n {\n "message": "请求包含无效参数。",\n "domain": "global",\n "reason": "badRequest"\n }\n ],\n "status": "INVALID_ARGUMENT"\n }\n}\ n'

没有关于无效论点的详细信息。

只有这个改变的http_authorized是传递的对象。

我是在犯错还是有什么东西坏了?

0 投票
1 回答
1899 浏览

google-apps-script - 如何使用 Google API 将 Google Sheet 部署为 Web 应用程序

我对 Google Sheets API 有一点问题

我的 GDrive 上有一个 Google Sheet 文档。我可以使用 Google Sheets API 和 Google Drive API 来处理它。所以我可以移动它、更新它或复制它。

我的任务是: 1. 制作此文档的副本(我可以这样做) 2. 将此副本发布为 Web 应用程序。因此,每个副本doGet()内部都有一个功能,因此可以将其发布为 Web 应用程序。手动可以这样做:发布 - >部署为网络应用程序..但我找不到任何API来做到这一点。在此处输入图像描述

  1. 获取已发布服务的 URL

更新

我阅读了文档projects.deployments.create并且我想创建一个新部署(在此之前我应该​​创建一个版本)但是我的新 deployemnt 没有 Web 访问权限,没有 url 等。如果我通过projects.deployments.list它检查显示:

如果我将通过网络界面手动执行此操作,它将看起来像

0 投票
0 回答
365 浏览

python-3.x - 未找到 Google Apps 脚本函数:function_name

我正在尝试使用 google-apps-script RESTful API 运行脚本。执行脚本时,我总是收到一条错误消息Script function not found: function_name。我哪里错了?

这是一个新项目,我需要从 Django 应用程序运行脚本。因此,一旦用户通过身份验证(使用 Google OAuth2),我就会尝试调用脚本运行函数。就在尝试运行脚本之前,我正在更新运行没有任何问题的脚本。

我从 https://developers.google.com/api-client-library/python/auth/web-app获取了烧瓶应用程序并将其转换为 DRF

我在 Apps 脚本网页中看到的只是代码未执行的错误

谷歌应用脚​​本图像

Stackdriver 也没有显示错误是什么,以及为什么没有执行代码

由于我能够访问 Script API 并成功更新代码而没有错误,我认为使用相同的 Auth 令牌,我也应该能够执行脚本。请帮忙指出错误。

我什至尝试使用 Google App Script QuickStart Example 在单独的 python 文件中独立执行脚本,但即使这样也给出了相同的错误

0 投票
1 回答
148 浏览

google-apps-script - 如何以编程方式复制 Google Apps 脚本中文件绑定脚本的脚本权限?

我正在尝试使用 google sheet + forms 实施绩效评估系统。总的来说,我需要做的是根据模板为每个用户生成一个表单。用户提交答案后,我需要编辑表单,以删除其中一个选项,避免我的同事重复提交。

为了实现这一点,我打算创建表单并将它们链接到同一个电子表格 - 据我所知,这是不可能的。因此,使用标准流程让我的表单将数据提交到同一个地方是不可行的,因为我需要在我的电子表格中创建大约 100 个选项卡,每个选项卡包含大约 7、8 行(不会一次输入,但逐渐地,在每个电子表格中)。

无论如何,我的最后一个想法是不要将任何表单链接到我的电子表格,而是在模板表单中编写一个简单的脚本来将这些数据写入我的电子表格。该脚本绑定到表单,因此,当我复制模板并创建新表单时,脚本也会被复制。这工作得很好,但是,对于每个新副本,我需要手动授予脚本的权限(它需要写在我的回复电子表格上)。

对我来说最简单的解决方案是能够在同一个电子表格中写入所有表单的结果(能够分别对每个表单提交采取行动),但恐怕这是不可能的。因此,是否可以完全复制绑定到文件的项目及其权限,从而不需要手动授予?

0 投票
1 回答
5397 浏览

google-apps-script - 导出单个工作表并另存为工作表名称

我有一个包含多张工作表的工作簿。我已经进行了设置,以便在主页上您可以单击工作表名称旁边的导出,并将该工作表导出到 xls。有没有办法导出工作表并将其保存为工作表名称而不是工作簿名称?

在 A49 我有:

然后在 D:DI 中有工作表 ID

这就是生成 URL 的原因

0 投票
1 回答
263 浏览

google-apps-script - 由我授权的应用创建的 GCP 项目,但我无权访问它?

我正在开发 CRM 软件和我的谷歌帐户之间的一些自动化/集成。我正在尝试使用 Google Apps Script API,这样我就可以通过我在 CRM 软件中构建的集成远程执行 Google Apps Script 中的功能。

唯一的问题是,当尝试运行通过 API 调用 GAS 函数的函数时,我收到以下错误:

“Apps Script API 之前未在项目项目编号中使用或已禁用。然后通过访问https://console.developers.google.com/apis/api/script.googleapis.com/overview?project=103424032563启用它重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统并重试。”

这通常没有问题,因为我只需通过链接访问 GCP 门户并启用 GAS API,但是当我尝试访问我的项目时,我根本没有访问权限,并得到“加载数据失败” “ 错误。

使我的问题进一步复杂化的是,GCP 支持将无济于事,因为他们怀疑我是一名黑客,试图获得对他们所知道的不属于我的项目的访问权限。

而且因为我无法访问该项目来授权 API,我也无法将我的 google 脚本与同一个项目相关联,因为这是 Google Apps Script API 运行的要求。

我怀疑是我正在开发此集成的 CRM 软件部分导致了此错误(不知何故,GCP 项目是由不同的用户创建的),但它们在确定发生了什么方面并没有太大帮助。

你们中有人有过类似的情况吗?如果是这样,你是如何解决它的?

0 投票
1 回答
165 浏览

google-apps-script - 确定要在 Google 脚本编辑器中使用的电子表格

我正在尝试在谷歌脚本编辑器上自动化谷歌电子表格。但是,当我尝试识别电子表格并选择我们正在处理的电子表格时,下面引用的文档 (openById) 中写道,使用此方法的脚本需要以下一个或多个范围的授权:- > https://www.googleapis.com/auth/spreadsheets.currentonly --> https://www.googleapis.com/auth/spreadsheets

当我添加这些范围时,我的函数不会运行。它仅在未添加这些范围时运行。无论哪种方式,我都会遇到错误消息:“我们很抱歉,发生服务器错误。请稍等,然后重试。”

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openbyidid

我尝试了各种方法,包括 OpenByUrl 和 getActiveSpreadsheet ...

无论哪种方式,我都会遇到错误消息:“我们很抱歉,发生服务器错误。请稍等,然后重试。”

我希望工作表已被选中

编辑:嗯,当我复制谷歌表格并保存新代码时,它运行正常!!:)