问题:如何删除应用程序徽标。
解决方案:此答案中的先前解决方案/sf/answers/4001760591/不再有效。
Google 将 的格式更改"iconUrl"为"icon",现在使用 -Base64编码的数据流,例如"icon":"iVBORw0KGgoAAAAN...,而不是以前写为 的图像 URL "iconUrl":"https://..."。
我试过"icon":""许多Base64编码的值一样"icon":"IA","icon":"Lw"和一些其他-没有成功。我收到控制台消息,例如
为了 "icon":""
{
"error": {
"code": 400,
"message": "The request failed because one of the field of the resource is invalid.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"type": "client_auth_config",
"subject": "?error_code=9&error_field_name=UpdateIconRequest.icon&error_field_value=%3CByteString@3eeee81e+size%3D0+contents%3D%22%22%3E"
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
或者
{
"error": {
"code": 400,
"message": "Request contains an …Run Code Online (Sandbox Code Playgroud) google-api google-apps-script google-oauth google-cloud-platform google-workspace
您好我想使用谷歌应用脚本将一个电子表格中的特定行复制到另一个电子表格.任何人都可以帮我解决这个问题.
在按钮单击处理程序中,我正在创建一个新的网页,如下所示:
var page = SitesApp.getPageByUrl(url).createPageFromTemplate(title, name, template);
Run Code Online (Sandbox Code Playgroud)
我想将用户自动重定向到该页面.
我无法找到太多信息,可以这样做吗?
我有一个简单的谷歌Apps脚本是contentService的发射类似"世界,你好星期六2012年7月14日十四时17分21秒GMT + 1000(EST)"的网址是一个字符串https://script.google.com/macros/s/AKfycbxbFFG95mi8PWVNCE8366XaxnXQrt6p7p3OWbclXch_bbWczQ/exec,它对匿名开放.随意点击它.代码是:
function doGet() {
var output = ContentService.createTextOutput()
.setMimeType(ContentService.MimeType.TEXT)
.setContent("Hello world " + new Date());
Logger.log(output.getContent());
return output;
}
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中访问URL时,它会按预期返回字符串(pass.png).当我在XHR(ajax调用)中使用相同的URL时,它会因空错误而失败.在Chrome中的开发者工具中,重定向是"(已取消)"(fail.png).以下是重现失败的代码:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc() {
xhr=new XMLHttpRequest();
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("myDiv").innerHTML=xhr.responseText;
}
};
xhr.open("GET","https://script.google.com/macros/s/AKfycbxbFFG95mi8PWVNCE8366XaxnXQrt6p7p3OWbclXch_bbWczQ/exec",true);
xhr.send();
}
</script>
</head>
<body>
<h2>Using the XMLHttpRequest object</h2>
<div id="myDiv"></div>
<button type="button" onclick="loadXMLDoc()">Get Content via XHR</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
直接要求:
XHR请求:
我的问题(希望足够具体):如何从example.com上的普通旧网页进行XHR调用,从匿名Google Apps脚本ContentService脚本获取内容?
今天我有一个关于Google Apps脚本的问题,特别是针对Spreadsheets.我已经看过这里的文档(是的,电子表格中的工作表上的文档),但我找不到我想要的东西.这是sitch:
1.)当在Google电子表格中编辑单元格时,我使用该函数设置了一个注释函数(是的,它说的是cell.setComment(),但实际上它创建了一个注释.感谢一致,谷歌!):
function onEdit() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getActiveSheet();
var cell = sheet.getActiveCell();
cell.setComment("Last modified: + (new Date()));
}
Run Code Online (Sandbox Code Playgroud)
2.)截至2012年9月5日,评论被" 评论 ""替换"了?也许?我宁愿使用那些.
3.)对于两种类型的"单元格表示法",仅存在用于设置注释/注释的功能,而不存在ADD(根据文档).
4.)我想引用或编写一个能够添加新注释/注释的函数(最好是注释,它们更容易阅读),而不是设置注释/注释.
5.)您可以通过电子表格中的GUI手动添加注释/注释(右键单击一个单元格并选择"插入注释"或"插入注释".因为这些右键单击功能存在让我相信我们可以编写一个脚本来做同样的事情,但是在编辑单元格时会自动调用它.
6.)此功能将用于跟踪单元格修订历史记录.我知道我可以创建一个新的电子表格并轻松地将修订历史记录发送到新的电子表格,但考虑到我有10个需要跟踪的电子表格,我宁愿没有10个新的电子表格来跟踪历史记录.将它保存在同一个电子表格中会使事情变得简单.
如果有人能帮助我,我将不胜感激!
我有一行设置单元格中的当前日期和时间:
sheet.getRange(1,1).setValue(new Date());
Run Code Online (Sandbox Code Playgroud)
然后我有一行根据该单元格的值创建格式化日期:
var addedDate = sheet.getRange(1,1).getValue();
var addedTime = Utilities.formatDate(addedDate, "GMT", "hh:mm a");
Run Code Online (Sandbox Code Playgroud)
结果addTime似乎在GMT时区,我需要它在用户的时区.它通常是美国东部时间(-0500),但如果我只是从那个时间减去5个小时,那么不考虑夏令时(-0400).
我在这里查看了formatDate的文档:https://developers.google.com/apps-script/reference/utilities/utilities#formatDate (Date,String,String )
这里链接到官方的Java SimpleDateFormat类文档:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
...但我无法在那里找到有效时区列表来替换GMT.
任何人都可以帮助我
我想在特定文件夹中通过App Script创建一个电子表格.怎么做.
目前我正在做如下:
var folder = DocsList.getFolder("MyFolder");
var sheet = SpreadsheetApp.create("MySheet");
var file = DocsList.getFileById(sheet.getId());
file.addToFolder(folder);
file.removeFromFolder(file.getParents()[0]);
Run Code Online (Sandbox Code Playgroud)
它不工作.......
我有几个Google表格,我连接并更新它们之间的单元格.现在我必须使用R1C1或A1类型引用来定义基于特定列获取或设置单元格.
如果添加了新列,则所有这些引用现在都已关闭.
每个工作表中的第一行将列标题作为这些单元格中的值.
我可以以[columnHeader] 5的格式引用该列中第五行的单元格的单元格吗?
我想将每个单独的列标题设置为"命名范围",但我仍然坚持能够使用[命名范围] 5引用单元格.
我想我可以使用一些动态定义100个变量到当前列号(R1C1)格式(在所有工作表中)的方法,然后尝试在我的单元格引用中使用那些伪标题变量.但是我可能每天都会运行100次脚本,这种可怕的低效率会伤害我的工程师.
提前致谢.
夹头
我需要运行一个包含逻辑的脚本:If isNumber,Then DoSomething.
我运行其他如果然后测试,如果为空,如果单元格包含"x".它应该很简单,但我找不到解决方案.我试过getNumberFormat,innum,isnumber等.
function ifIsNumber() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var substring1 = s.getRange("A1").getNumberFormat();
s.getRange("B1").setValue(substring1);
}
Run Code Online (Sandbox Code Playgroud)
对于包含数字和文本的两个单元格,此代码检查单元格A1并在单元格B1中返回字符串"0.###############".如何识别哪些单元格是数字?
最近,Google添加了一个功能,您可以在其中超链接到特定的单元格,这很棒.为此,您可以使用特定单元格上的"插入链接"功能,然后从下拉菜单中单击"选择要链接的单元格范围",然后选择您要添加的单元格或范围要链接到.通过这样做,Google生成了一个非常方便(和动态)的十位"范围ID".
它看起来像这样:= HYPERLINK("#rangeid = 1234567890","link")
但是,我无法弄清楚如何使用脚本创建它.
我觉得这个函数不存在似乎很奇怪,因为它可以手动完成.
我可以使用以下代码生成工作表ID,在创建在页面之间跳转的超链接时非常方便:
var ss = SpreadsheetApp.getActive();
var sheet1 = ss.getSheetByName(name);
var gid = sheet.getSheetId();
sheet2.getRange("A1").setFormula('=hyperlink("#gid='+gid+'","'name'")');
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码创建指向特定单元格的链接,但它不是动态的,并且一旦将行/列插入到工作表中就会中断:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRangeByName("A10");
var sheetID = range.getSheet().getSheetId();
var rangeCode = range.getA1Notation();
sheet2.getRange("J10").setFormula('=hyperlink("https://docs.google.com/spreadsheets/d/'+ss.getId()+'/edit#gid='+sheetID+'&range='+rangeCode+'","link")');
Run Code Online (Sandbox Code Playgroud)
必须有一种方法来执行类似下面的代码,但我目前找不到办法:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getRangeByName("A10");
var rangeID = range.**getRangeID()**;
sheet2.getRange("J10").setFormula('=hyperlink("#rangeID='+rangeID+'","link")');
Run Code Online (Sandbox Code Playgroud)
我知道Google Scripts的可用选项中当前不存在"getRangeID()"; 但是,有什么功能可以实现吗?如果存在这个命令,那将是非常有用的.
有帮助吗?还有另一种方法可以实现这一目标吗?
谢谢你的帮助!
javascript ×2
ajax ×1
comments ×1
cors ×1
google-api ×1
google-apps ×1
google-oauth ×1
google-sites ×1
time ×1
timezone ×1