我正在尝试制作这个附加插件,可以帮助我和其他人将工作表导出为 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
我正在尝试将部分小部件动态添加到newSelectionInput OnChangeAction(已添加卡)上的Card / CardService中。
我没有在Google上看到任何文档,如何实现此行为。
有人可以指导我找到正确的文档或如何执行此操作。
谢谢
我有一个Google文档插件,可以在文档打开时立即打开侧边栏.当然,这需要在文档中安装和启用加载项.
我看到,自从一周以来,侧边栏自动打开功能在我们的用例中非常有用,不再有效.
在StackDriver日志中,我看到此报告:
onOpen(): {authMode=LIMITED, source=Document, user=}
publi-2.0.72-2017-11-27-18-57 [this is the publication version tag]
2017-11-27T18:02:50.126Z : show menu
2017-11-27T18:02:50.180Z : show sidebar
Error showing sidebar Exception: You do not have permission to call showSidebar
2017-11-27T18:02:50.283Z : end onOpen
Run Code Online (Sandbox Code Playgroud)
很明显,根据插件授权生命周期,加载项处于有限模式并且showSidebar()应该成功(只需查看表中的列LIMITED).
- >我怀疑最近引入了一个bug或一个新的安全限制.
这里的记录是一个代码片段:
/**
* Basic setup. At the beginning:
* 1. Add a "Add-ons" menu item.
* 2. Display the doxMaster sidebar.
*/
function onOpen(e) {
console.log("onOpen(): ",e)
console.log(addonversion);
doServerLog("show menu");
showMenu();
doServerLog("show sidebar");
showSidebar();
doServerLog("end onOpen");
} …Run Code Online (Sandbox Code Playgroud) google-docs google-apps-script google-oauth google-apps-script-addon
我已经发布了一个供内部使用的 Google Sheets 插件。有用。但我似乎无法发布新版本。我正在关注这个:
https://developers.google.com/gsuite/add-ons/how-tos/manage-addons
鉴于 Google 宣布将于 1 月 28 日后停用 Chrome 应用商店列表,我一直专注于部署到 G Suite Marketplace。我采取的步骤是:
当我在示例表格文档中调用附加组件时,无论等待或刷新多少,似乎都不会导致最新部署的代码可见。
在 Google 幻灯片中,可以将幻灯片设置为在演示模式下“跳过”(如此处所述)。
但是,自动页码仍然包括跳过的幻灯片(这意味着在演示模式下,如果4跳过幻灯片,幻灯片编号会直接从 跳转3到5)。
我想使用 Google Apps 脚本生成我自己的幻灯片编号,以便只计算未跳过的幻灯片。但我不知道如何检查幻灯片是否被标记为“跳过”。
这就是我的想法:
function genSlideNumbers() {
var preso = SlidesApp.openById('PRESENTATION_ID');
var slides = preso.getSlides()
var slide_num = 1
for (var i = 0; i < slides.length; i++) {
slide = slides[i]
if ( /* ?? slide is "skipped" ?? */ ) {
slides[i].insertTextBox(slide_num);
slide_num++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以?
编辑:不是这个问题的重复,因为我不是问如何跳过幻灯片;我问是否有任何方法可以判断幻灯片是否被跳过。
google-apps-script google-slides google-slides-api google-apps-script-addon
我正在尝试使用我经常使用的名为 YAMM 的 G Suite 插件。最近,我经常遇到错误“drive.google.com 拒绝连接”。当我联系开发人员时,他们说这是 Google 的问题。我该如何解决?
end-user google-apps-script google-drive-api google-apps-script-addon google-workspace
最近我打开我的谷歌的幻灯片脚本运行时间从Rhino到V8。我测试了我的附加组件,但出现错误:
We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED.
我的脚本使用PropertiesService.getUserProperties(). 我发现我必须从我的 google 帐户注销并再次登录并且它起作用了。
我可以想象这对于使用此附加组件的其他用户来说也可能是痛苦的。有没有其他方法可以解决此错误?
appscript.json 配置
{
"timeZone": "Europe/Bratislava",
"runtimeVersion": "V8",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER"
}
Run Code Online (Sandbox Code Playgroud)
此外,我正在我的 PC nad 上开发本地附加组件,使用clasp将代码推送到 App 脚本。
我创建了最小的项目来重现这个错误,我发现这PropertiesService.getUserProperties()不是问题。事实证明,从Rhinoto切换后V8,我无法调用任何 appscript 函数。
// Code.gs
function onInstall(event) {
onOpen(event);
}
function onOpen(event) {
SlidesApp.getUi().createAddonMenu()
.addItem('Open the sidebar', '_showSidebar')
.addToUi();
_showSidebar();
}
function _showSidebar() { …Run Code Online (Sandbox Code Playgroud) v8 google-apps-script google-slides google-apps-script-addon google-apps-script-runtime
我正在将我的剧本转换成一个补充.其中一个需求是配置模板,因此我编写了一个侧栏,用于启动字段选择器.由于侧边栏没有足够的空间容纳选择器,我必须通过在侧边栏中创建的模式对话框启动它,方法是在服务器端调用此代码:
var html = HtmlService.createHtmlOutputFromFile('TemplatePicker.html')
.setWidth(600).setHeight(425);
SpreadsheetApp.getUi().showModalDialog(html, 'Select the file with the template');
Run Code Online (Sandbox Code Playgroud)
我的问题是,一旦用户选择文件,当我拥有所选文件的ID时,我无法将该ID传递给侧边栏.我试图调用someJSFunctionOfSidebar(id)和parent.someJSFunctionOfSidebar(id),但它没有工作,所以我终于结束了值传递到服务器端,并从那里重新加载侧边栏,但它很慢,产生的效果是丑陋的.
我的问题是:
有没有办法将客户端级别的值从创建的模式对话框传递SpreadsheetApp.getUi().showModalDialog给其父级?也许这不是它的父母,这也是它不起作用的原因.
google-docs google-sheets google-apps-script google-apps-script-addon google-apps-script-web-application
我正在使用Drive REST API将文件上传到Google Drive。我希望默认情况下在这些文件上启用一些默认加载项。我在这里阅读有关容器绑定脚本的信息。
但是,只有在Google Docs UI中打开文件后,才能添加容器绑定脚本。在上载时或以编程方式上载后,是否可以将脚本绑定到文件?
google-apps-script google-drive-api google-apps-script-addon
我正在创建一个 Google Docs 插件,我试图创建的功能之一是减少两个段落之间的空行数量。
因此,举例来说,如果我有 2 个段落,它们之间有 5 个空行/空白行,我希望该功能将空行数减少到 1。
本质上,我需要一种方法来检测空行。我查看了API,认为我需要使用 ReplaceText() 方法来搜索正则表达式模式。但是,我已经尝试过,但没有成功(也许我使用了错误的模式,我不知道)。
谁能帮我找到一种检测空行的方法?谢谢。
编辑:
我刚刚发现 Google 文档不支持所有正则表达式模式。这是该链接: https: //support.google.com/analytics/answer/1034324 ?hl =en。我对正则表达式不熟悉。任何人都可以提供适用于 Google Docs 的替代方案吗?
javascript add-on google-docs google-apps-script google-apps-script-addon
google-docs ×3
add-on ×1
end-user ×1
gmail-addons ×1
google-apps-script-web-application ×1
google-oauth ×1
javascript ×1
menu ×1
v8 ×1