google-apps-script chrome-web-store google-cloud-platform google-apps-script-addon
我编写了一个 google 脚本编辑器插件,并将其发布到 google 市场,并具有私人可见性(它仅对我组织中的用户可见)。我在脚本编辑器中测试了具有所有类型权限(为当前用户安装、在当前文档中启用、已安装和启用)的插件,一切都按预期工作。但是,在将插件发布到市场并将其安装在测试电子表格中后,我不断收到此错误:We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED.
来自onOpen
函数。
我正在明确设置这些 oauth 范围:
"oauthScopes": [
"https://www.googleapis.com/auth/script.container.ui",
"https://www.googleapis.com/auth/spreadsheets.currentonly",
"https://www.googleapis.com/auth/script.scriptapp",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"
]
Run Code Online (Sandbox Code Playgroud)
这是我的onOpen
触发器:
function onOpen(e: AppsScriptEvent) {
if (e && e.authMode !== ScriptApp.AuthMode.NONE) {
const ui = SpreadsheetApp.getUi();
const menu = ui.createAddonMenu();
menu.addItem("Add New Offering", "addNewOffering");
menu.addSeparator();
menu.addSubMenu(
ui
.createMenu("Settings")
.addItem("Dashboard Name", "changeDashboardName")
.addItem("Dashboard Start Cell", "changeDashboardStartCell")
);
menu.addToUi();
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里还缺少什么其他类型的许可?
triggers google-sheets google-apps-script google-apps-script-addon
如果它仅用于我的内部使用,是否有可能在没有Google批准的情况下发布插件?
如果没有,是否有可能使一些Google Apps脚本项目全球化.因此,我不需要将相同的代码/功能复制到另一个电子表格或文档,以使我的自定义宏再次工作.
我有一个公司谷歌帐户(带有域名),我创建了一个脚本来访问数据库,在一些电子表格之间共享数据simulations
.
我创建了一些自定义函数like =listAllCustomers()
,现在我想使用任何spreadsheets
.
我怎样才能做到这一点?
在工作表中,我可以通过"添加"添加自定义代码,但是如何在我的域中共享脚本?
google-sheets google-apps-script gsuite google-apps-script-addon
在Google Apps脚本中,其中一个基本工具是电子表格中的onEdit触发器,它使我们能够检测用户何时编辑单元格并对其作出反应.
用户何时插入行或列怎么样?有没有办法检测到它?
这会触发onEdit吗?如果是这样,我想在ScriptDb中维护行数或列数,然后检查每次都会这样做,但是时间成本很高,因为getMaxRows()已经很慢了,并且接触到ScriptDb就像好.
你怎么看 ?
我正在尝试使用该选项发布测试附加组件Private
,因为此附加组件中没有任何新内容,如果我发布它,Google将不会接受该附加组件Public
.
该加载项包含侧边栏,自定义菜单和自定义功能.它在Google Sheet上运行良好.
在Chrome网上应用店,我加2个Gmail的到Edit your tester accounts:
下Your developer account
.我还用这两个gmails创建了一个google组.
通过关注此主题,我做了Publish ==> Deploy as Sheets web add-on...
,然后在Chrome网上应用店中上传了不同的图标和图片,支付了5美元,将大部分框留空,然后使用该选项发布,Private
并选择了创建的Google群组.
但是,当我用这两封邮件中的任何一封打开新的Google表格时,我找不到该插件Add-ons
.通过Add-ons ==> Get add-ons...
,我也找不到附加组件.
那么有谁知道这个附加组件应该出现在哪里?是因为Google正在审核此附加组件尚未提供此附加组件.
看到这样一个基本的出版物并不清楚,我感到非常惊讶.是因为很少有人发布附加组件Private
?
add-on google-sheets google-apps-script chrome-web-store google-apps-script-addon
我有一个 Google 表格插件,目前正在我的域中进行测试。对于这篇文章,我们称之为My First Add On。当用户安装加载项时,会提示他们提供权限,但它在对话框中始终显示为“未命名项目”:
在我能找到的任何地方,项目名称都设置为My First Add On:
我的附加组件以“私人”可见性发布,仅供给定 Google 群组中的人员(我信任的测试人员)使用。
我搜索了文档和论坛,看看我在这里遗漏了什么,但找不到涵盖这种情况的任何内容。
这必须是一些基本的东西,但我完全被卡住了,唯一可用的支持选项就是在这里发帖。我会很感激任何帮助,伙计们!
我编写了一个在本机电子表格中使用时效果很好的脚本。我现在试图将它发布为附加组件,但我发现它onEdit(e)
不起作用,何时onOpen(e)
并且onInstall(e)
工作正常。
我已经查看了有关授权模式和安装/启用附加组件的文档,但我认为我可能遗漏了一些东西(希望很简单),因为我是初学者。我应该以不同的方式调用函数吗?还是放置的位置onEdit
?任何帮助表示赞赏。谢谢!!
function setup() {
var ui = SpreadsheetApp.getUi();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Send Auto Emails');
try {ss.setActiveSheet(ss.getSheetByName('Send Auto Emails'));}
catch (e) {ss.insertSheet('Send Auto Emails', 0);}
sheet.getRange(1, 1).setValue('Recipient Email Address');
//etc...
}
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = e.source.getActiveSheet();
var range = e.source.getActiveRange();
if (range.getA1Notation() == "C1" | range.getA1Notation() == "D1" | range.getA1Notation() == "E1" && sheet.getName() == "Send Auto Emails") {
Browser.msgBox(
'Alert',
'Feel …
Run Code Online (Sandbox Code Playgroud) triggers google-sheets google-apps-script google-apps-script-addon
问答目前是元讨论的主题,请参与。目前的计划是在可能的情况下拆分为问答环节。A&A 的答案是社区维基,当状态得到解决时,问题应该成为一个问题。
前言
本问答力求成为Google Apps Script语言开发过程中遇到的常见错误的集合和参考对象,以期提高google-apps-script标签的长期可维护性。
在其他语言和通用标签中也有几个类似的成功经历(参见c++、android、php、php 再次),这一个也紧随其后。
它为什么存在?
新老开发人员提出的关于开发和生产过程中遇到的错误的含义和解决方案的问题数量很多,这些问题可以有效地简化为一个单一的答案。在撰写本文时,即使仅通过语言标签运行查询也会产生:
由于需要考虑细微差别和通常措辞不当的标题,对于志愿者来说,链接到最相关的副本既困难又耗时。
它由什么组成?
此问答包含的条目旨在提供有关如何:
目录
为了帮助您浏览不断增长的参考,请使用下面的目录:
这不是什么?
问答的范围仅限于普通(非平凡)。这不是:
要添加什么?
添加条目时,请考虑以下事项:
debugging google-api google-apps-script google-apps-script-addon
我正在尝试制作这个附加插件,可以帮助我和其他人将工作表导出为 JSON。在我的测试中,菜单显示并且所有功能都有效(如屏幕截图中所示)。当我发送到 Google Web Store 上发布时,“Docs Add-ons Advisor”在评论中看不到菜单。因此,正如“Docs Add-ons Advisor”建议的那样,我将其发布为“不公开”,看看它是否适合我。但这不起作用。这是我正在使用的代码和链接。谁能告诉我我做错了什么并帮助我解决它。
参考:
代码:
function onInstall(e) {
onOpen(e);
}
function onOpen(e) {
var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or FormApp.
if (e && e.authMode == ScriptApp.AuthMode.NONE) {
// Add a normal menu item (works in all authorization modes).
menu.addItem('Export to JSON', 'exportInit');
} else {
// Add a menu item based on properties (doesn't work in AuthMode.NONE).
var properties = PropertiesService.getDocumentProperties();
var workflowStarted = properties.getProperty('workflowStarted');
if (workflowStarted) …
Run Code Online (Sandbox Code Playgroud) menu google-sheets google-apps-script google-apps-script-addon