在打开 Google 表格时 goo.gl 网址缩短器



我的目标是自动将Google云端硬盘为他的文档生成的(非常)长的共享链接转换为短网址:goo.gl/code

我在这里找到了雅各布·扬·图尼斯特拉(Jacob Jan Tunistra)的漂亮剧本,但该帖子现已关闭。

Jacob 的代码就像一个魅力,但你需要运行它。我的需求是在打开文档时自动运行脚本(而不是打开菜单 e 按下按钮。请问我该如何修改该脚本?

function onOpen() {
SpreadsheetApp.getUi()
.createMenu("Shorten")
.addItem("Go !!","rangeShort")
.addToUi()  
}
function rangeShort() {
var range = SpreadsheetApp.getActiveRange(), data = range.getValues();
var output = [];
for(var i = 0, iLen = data.length; i < iLen; i++) {
var url = UrlShortener.Url.insert({longUrl: data[i][0]});
output.push([url.id]);
}
range.offset(0,1).setValues(output);
}

UrlShortener 服务不能由简单的触发器(如 onOpen)使用,因为此服务需要授权。相反,您应该使用可安装的触发器。可以按如下方式创建它:

  1. 在脚本编辑器中,转到当前项目触发器>
  2. 资源
  3. 为函数 rangeShort 创建一个触发器,参数"来自电子表格"、"打开时"。

参考:管理可安装的触发器。

您确定要在打开它后自动运行它吗?这意味着您之前生成的所有短链接将被新链接覆盖。您可能希望在粘贴长 URL 后自动生成短链接。为此,您的代码应如下所示:

function rangeShort() {
var range = SpreadsheetApp.getActiveRange(), data = range.getValues();
var output = [];
for(var i = 0, iLen = data.length; i < iLen; i++) {
var url = UrlShortener.Url.insert({longUrl: data[i][0]});
output.push([url.id]);
}
range.offset(0,1).setValues(output);
}

之后,从脚本编辑器中,转到"资源">"当前项目的触发器"为函数 rangeShort 创建一个触发器,其中包含参数"来自电子表格"、"编辑时"。

相关内容

  • 没有找到相关文章

最新更新