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

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 回答
160 浏览

google-apps-script - 发布 Google 表格插件 - 站点验证

我构建了一个 Google Sheets 脚本,它可以查询我公司的 API,并将平台中的数据输出到电子表格中。它使用表单获取用户名和密码,然后运行 ​​API 调用以将结果输出到 Google 表格。

当我尝试发布插件时,我收到了需要遵守 Google OAuth 验证的反馈。要获得此验证,我需要证明该域是我的;虽然我可以访问我们网站的 GA(这不适用于验证),但我不是域所有者。所以,我想知道,有没有办法为我的公司帐户发布这个 Google 插件,以及遵守 Google OAuth 的后续步骤是什么?

0 投票
1 回答
278 浏览

google-slides-api - 发布 Google 幻灯片插件

我想请教您一些建议:我开发了一个非常简单的 Google 幻灯片插件,让我在使用幻灯片时更轻松。问题是这些说明对于各种谷歌产品(应用程序、扩展程序、插件等)似乎是如此通用,我想我错过了一些东西。

我按照官方文档中的说明进行操作。我使用脚本编辑器创建了一个脚本,并选择将其作为插件发布。我完成了必填字段,然后我被重定向到了开发人员仪表板,这不允许我上传没有清单文件的插件。此时,Google 幻灯片不需要清单,所以我创建了一个没有太多想法的清单,并使用上传工具抛出的错误消息对其进行验证。它是这样的: { "manifest_version": 2, "name": "The name", "version": "2", "timeZone": "America/Argentina/Buenos_Aires", "dependencies": {}, "异常记录”:“堆栈驱动程序”}

我能够上传该清单,但该程序包被列为 Chrome 扩展而不是 Google 幻灯片插件(创建新幻灯片并访问文档 > 插件 > 下载插件)。

我花了 5 个小时阅读如何做到这一点,但我无法实现它,我真的厌倦了猜测。谁能指出我具体的 Google 幻灯片场景中的具体文档/教程/视频?

PS:如果我尝试从脚本编辑器更新插件,再次发布它会告诉我“此项目不是应用程序,请从清单中删除应用程序部分”。但是Script Editor中没有manifest,在Deveoper Dashboard上传的manifest中也没有app字段。顺便说一句,在开发者仪表板中发布会迫使您拥有一个清单......

谢谢,谢谢,提前谢谢。

0 投票
0 回答
63 浏览

google-apps-script - Google 表格插件——欺骗性的消息后 URI

我正在尝试发布一个谷歌插件,目前正在尝试从谷歌管理团队获得 OAuth 验证。他们回过头来告诉我,我有以下不属于我的顶级域的消息后源 URL:

我不确定这在我的代码中指的是什么——有人知道这可能意味着什么吗?

提前致谢,

一只蚂蚁

0 投票
1 回答
1207 浏览

google-apps-script - Google Apps Script Add On google.run.script 作为开发者运行?

我只在 GAS 工作了不到 6 个月。到目前为止,所有内容都绑定了电子表格项目,但已经创建了很多。我有一个新的需求,即创建一个人们可以在他们想要的任何电子表格中使用的附加侧边栏(在域中)。我创建了代码,发布了它,因此只有域可以看到它,并且可以将它作为同一域中的另一个用户安装,所有这些似乎都工作正常。

该问题与sidebar.html, 并在我的脚本google.script.run中调用一个函数有关,该函数用于调用一个获取一些外部数据并将其写入当前工作表的函数。获取外部数据的所有代码都可以正常工作,它们都进入了一个二维数组。它断裂的部分在SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,1,x,y).setValues(array)。我收到“您无权访问请求的文档”

我在测试期间做了以下一些事情:

1) 插件脚本最初是作为现有工作表的绑定脚本进行开发的。考虑到这可能是问题所在,我将该项目重新创建为独立的 GAS,并将其作为工作表的 Web 插件发布。这并没有什么不同。

2) 开发者可以正常运行插件,没有侧边栏错误。

3) 我为插件创建了另一个菜单项,而不是打开侧边栏并让侧边栏通过 google.script.run 调用该函数,而是直接从菜单运行该函数。这样做,它对其他域用户“有效”(它无法从侧边栏运行它)。

4) 我与开发人员“共享”了用于与域测试用户测试插件的底层 Google 表格,然后侧边栏脚本将起作用。如果我在另一个非共享工作表中使用插件,我会收到权限错误。

5)如果我在我们都使用并有权访问(域范围)的大型共享驱动器文件夹中的工作表上使用它,它工作正常,正如我对上面“3”中的测试所期望的那样。

大问题:

所以似乎“google.script.run”作为开发人员运行,而不是作为当前用户(在键盘上)?那正确吗?查看这样的文件我找不到任何表明这一点的东西。我应该添加一些东西以确保它有效吗?这是我发布它的方式的副作用,仅供域使用吗?

更新:在没有特别确定的情况下,我测试了某人的“查找和替换”插件,果然,它能够从侧边栏直接写到工作表上,没有任何问题。我唯一做的就是在安装应用程序时对其进行授权。所以这显然是可能的。我只是想弄清楚我的附加组件中可能缺少什么,这将允许我做同样的事情。

这是我放在一起的一个小示例,只是为了测试当前活动工作表中 2 列和 2 行数组的“写入”到 A1:B2。作为开发人员,它可以在菜单和侧边栏中工作。它始终作为域用户从菜单中工作,但如果开发人员对文件具有直接权限(通过一次性共享或通过在开发人员拥有的先前共享文件夹中创建),它将“仅”从侧边栏中工作适当的权限)。

更新 2 我将部署类型更改为“仅受信任的测试人员”,并将我的非域自我添加为该测试人员。我向我(其他)自己发送了该应用程序的链接并从那里安装了它。回答了授权弹出窗口(不过,由于我不在域中,我不得不走“不安全”的路线,这很好)。运行测试插件......它就像一个冠军!现在,我自己(非域)和其他开发者自己(域)都支付了 5 美元。是这个问题吗?问题是我在域中创建的测试用户没有支付任何费用,所以它不起作用?

这对我来说没有多大意义,因为安装了测试插件,并且测试用户(在域中)可以从“菜单”调用底层脚本,并且它可以很好地填充电子表格。只有当域用户尝试从侧边栏运行应用程序时,它才会崩溃,边栏使用 google.script.run 调用来调用代码。这真的,真的很奇怪,也很令人沮丧。

另一方面,我添加了一个在侧边栏显示“有效用户”的功能,以防万一这方面发生了一些奇怪的事情,看起来一切都很好,在域而不是域中开发人员的名称。

我想我的下一个测试将是:

  1. 将其翻转回域,为域测试用户重新安装,看看是否没有发生其他事情来修复它。

  2. 如果仍然损坏,请将其转回受信任的测试人员,将域测试用户添加到该组,支付5 美元,看看他们是否可以以这种方式安装和运行它。如果可以,那么附加组件的域发布存在缺陷,或者我缺少一些文档(或未记录的内容)。

0 投票
3 回答
602 浏览

google-apps-script - G Suite Marketplace SDK [发布] 按钮总是灰显?

我的应用终于在 G Suite Marketplace 上发布了。但是,我需要更新横幅图像,因为它很模糊,并且 [发布] 按钮始终是灰色的。此屏幕截图中缺少什么?

灰色的发布按钮

0 投票
1 回答
84 浏览

google-apps-script - 如何发布日历的附加组件?

我正在开发一个脚本,它可以根据某些标准修改事件,我能够将其发布为 Docs 插件,还有其他选项,但没有日历。这家伙搞定了,但日历甚至不是 G Suit Makerplace SDK 中的选项(我管理 Gmail)。

0 投票
1 回答
50 浏览

google-apps-script - Google 表格插件在刷新时启动

我目前正在为 Google 表格发布和发布插件。在 Google 对该插件进行审查后,他们表示该插件将在刷新工作表时自动启动。

如何更改我的代码以使其通过 Google 审核?

编辑:

0 投票
1 回答
216 浏览

google-apps-script - 该脚本适用于工作表,但不是具有相同代码的插件

该项目作为表格插件发布。受信任的测试人员(也是电子表格编辑器)启动了一个插件,但它不起作用。他收到消息“您无权执行该操作。请请求此项目的所有者授予您访问权限”。如果编辑器使用相同的代码在同一个电子表格中启动内置脚本,那么一切正常。

请告知在哪里挖。

0 投票
0 回答
220 浏览

mobile - 如何从工作表上的按钮运行附加功能?

我制作了一个像这样工作的插件(链接,在描述中 - 完整代码)。电子表格编辑器填充单元格并在用户菜单中选择插件脚本分配到的项目。该脚本在工作表上插入当前日期,收集单元格值,将它们发送给所有者,并删除编辑者对电子表格的访问权限。

一切都在桌面上运行良好,但不适用于手机。现在超过 50% 的用户通过移动设备访问互联网。移动用户无法访问 Google 表格应用程序中的菜单、侧边栏和按钮。此外,必须另外下载并安装移动应用程序。不舒服。在移动浏览器(例如 Chrome)中,它们可用,但前提是您在设置中选择“完整版”。此外,在 Chrome 中,菜单项非常小,您必须通过滑动来增加它们。这一切都很不舒服。

如果您可以从按钮启动插件,那就太好了。按钮可以做得很大。那么在移动设备上,直接在浏览器中使用电子表格会更加方便。

有什么方法可以解决这个问题吗?我会很感激这些想法。

0 投票
1 回答
39 浏览

google-apps-script - 电子表格插件身份验证错误 - 文档所有者和活动用户不匹配

在我的电子表格插件中,我检查了文档所有者:

它也是用户登录到多个帐户的已知问题的后备方案。所以我最近发现,即使我是文档所有者并且我只登录了一个帐户,我仍然会得到非所有者菜单。

这个问题可以通过重新安装附加组件来解决,但它仍然是谷歌的错误吗?我没有看到为什么它在重新安装后可以正常工作的明显原因,那么这对我来说应该不是问题。