Tag: google apps script

使用Google脚本将图像保存到电子表格

我正在尝试使用jSignature向Google表格添加签名板。 我添加了一个记录签名的对话框,如下所示: //Code.gs function showDialog() { var html = HtmlService.createHtmlOutputFromFile(‘Page’) .setWidth(400) .setHeight(300); DocumentApp.getUi() .showModalDialog(html, ‘Your Signature is Required’); } //Page.html Please draw your signature on the signature pad below: $(“#signature”).jSignature({ ‘background-color’: ‘transparent’, ‘decor-color’: ‘transparent’ }); function renderSignature(){ $(“img#rendered”).attr(“src”,$(‘#signature’).jSignature(‘getData’,’default’)); } 唯一的问题是我无法弄清楚如何将图像放入单元格。 复制/粘贴不起作用,就我所知,它需要插入。 我想也许我写了一个函数将它保存到谷歌驱动器,然后使用URL插入它,但我仍然无法弄清楚如何获取实际图像,以便用它做任何事情。 任何见解,我是GS的新手。

在自定义HTML侧栏中使用.gs文件中的变量值

我有一个谷歌表,我编写了自定义侧边栏。 在侧边栏中,我想在活动行中显示第I列的值。 我已经设法编写脚本来打开侧边栏时存储变量’I’: var hotelName = “” function openSidebar() { var html = HtmlService.createHtmlOutputFromFile(‘index’); SpreadsheetApp.getUi().showSidebar(html); var ss=SpreadsheetApp.getActiveSpreadsheet(); var s=ss.getSheetByName(“Contract Registry Document”); var row=s.getActiveCell().getRow(); var column=9; hotelName = s.getRange(row, column).getValue(); Logger.log(hotelName); } 但是我现在需要它出现在我的侧边栏中的空DIV元素中。 如何导出此变量? 更新: 这很好用。 我现在还添加了侧边栏按钮以刷新,我想要做的是更新脚本,以便如果用户更改了行,则会显示新的酒店名称。 目前我已经添加了这个HTML: 而这个JQuery到索引文件: $(“#testing”).on(‘click’, function buttonClick() { google.script.run.buttonClick(); }); 而对于我刚刚复制原始function的function: function buttonClick() { var ss=SpreadsheetApp.getActiveSpreadsheet(); var s=ss.getSheetByName(“Contract Registry Document”); var […]

如何修复没有’Access-Control-Allow-Origin’标题出现’错误

我正在编写一个程序,当我尝试提交数据时,我得到了这个错误,“请求资源上没有’Access-Control-Allow-Origin’标题。因此不允许原点’null’访问。” 这是我在js中的代码: var $form = $(‘form#Send’), url = ‘https://script.google.com/macros/s/AKfycbxX8ZIziIntqczwArCxE536FAW3urjRYr477sg7ddZ5voMLYw/exec’ $(‘#submitit’).on(‘click’, function(e) { e.preventDefault(); var jqxhr = $.ajax({ url: url, method: “GET”, dataType: “json”, data: $form.serializeObject() }); 这是我的Google脚本代码: // original from: http://mashe.hawksey.info/2014/07/google-sheets-as-a-database-insert-with-apps-script-using-postget-methods-with-ajax-example/ // original gist: https://gist.github.com/willpatera/ee41ae374d3c9839c2d6 function doGet(e){ return handleResponse(e); } // Enter sheet name where data is to be written below var SHEET_NAME = “GAME_THING”; […]

普通Javascript等效于jQuery.param()

jQuery.param()接受一组键值对,并将其转换为一个字符串,您可以将其用作HTML请求中的查询字符串。 例如, a = { userid:1, gender:male } 会被转换为 userid=1&gender=male 我正在尝试在Google Apps脚本中调用服务器端的外部API,这需要很长的查询字符串。 我会使用jQuery param函数,但似乎没有简单的方法在Google的服务器端使用jQuery。 你能给我一些实现相同function的简单javascript代码吗? 它的jQuery实现就在这里 ,但我不想通过简单地复制它并删除处理’传统’的代码来跳过任何关键细节。

从Google SpreadSheet脚本调用jQuery

如何在附加到Google电子表格的脚本中使用jQuery? Google Libraries页面看起来很简单,但显然我误解了Libraries的执行环境,在脚本中调用google.load()失败了。 那么这样做的正确方法是什么? 我可以想象像调用UrlFetchApp.fetch()这样的想法,但这似乎不是正确的方法。 (我知道我对各种Google App环境感到困惑,所以要清楚:我正在谈论保存在Google文档电子表格菜单上的工具下的’脚本编辑器’中的脚本。)

Google文档的自定义键盘快捷键(更改颜色 – 背景颜色)

我想使用键盘快捷键更改Google文档中所选文本的ForegroundColor 。 我可以使“更改ForegroundColor”部分(使用绑定到函数setColor()的菜单项),而不是“键盘快捷键部分”。 我找到了这段代码但是我无法实现它: $(document).keydown(function(e){ //CTRL + Q keydown combo if(e.ctrlKey && e.keyCode == 81){ $( ‘#output’ ).html(“I’ve been pressed!”); } }) 我的困难: 1)我不确定将此代码放在我的脚本编辑器中的位置(我试图将它放在onOpen()函数中,如下所示,但也在上面没有成功)。 2)我不确定$(文件)应该引用什么。 3)我不确定他们的意思是“必须先点击/激活侧边栏才能实现”。 function onOpen() { var ui = DocumentApp.getUi(); ui.createMenu(‘My Menu’) .addItem(‘Color’, ‘setColor’) .addToUi(); var document = DocumentApp.getActiveDocument() // should it be here? $(document).keydown(function(e){ //CTRL + Q keydown combo if(e.ctrlKey && […]

AJAX发布到谷歌电子表格

我正在尝试将表单数据发布到Google电子表格中。 目前,如果表单已经过validation,则会发生以下情况: if (validateForm === true) { $.ajax({ type: ‘post’, url: ‘https://docs.google.com/spreadsheet/ccc?key=0AlwuDjMUxwhqdGp1WU1KQ0FoUGZpbFRuUDRzRkszc3c’, data: $(“#workPLZ”).serialize(), success: alert($(“#workPLZ”).serialize()) }); } else {} 我使用成功设置来validation我的表单数据是否正确序列化(它是)并且它是成功的。 但是,我的Google电子表格没有更新(没有数据通过)。 我在这里使用了示例代码,将doGet更改为doPost( http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-database-insert-with-apps-script-form-postget-submit-方法/ ),并使谷歌电子表格公开可用(并且可由任何人编辑)。 我按照说明,将代码复制到googledocs,然后运行setUp两次(第一次请求许可,第二次我运行它我没注意到任何事情发生)。 谁能帮我? 我觉得我非常接近。