Google表格功能可获取缩短的网址(来自Bit.ly或goo.gl等)


Answers:


12

这段小代码可以使用Google Apps脚本和URL Shortener API创建缩短的URL。

先决条件

在脚本编辑器中的资源下(工具>脚本编辑器),选择高级Google服务并激活UrlShortener: 在此处输入图片说明
然后转到Google Developers Console并选择API的URL: 在此处输入图片说明
启用API并将代码粘贴到脚本编辑器中。按下错误按钮以验证脚本

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);
}

讲解

的OnOpen()函数将创建一个菜单项,供您选择,具有名字缩短。每次打开文件时,都会添加此菜单项(如果您在脚本编辑器中,请从下拉菜单中选择功能,然后按播放按钮。这将执行该特定功能,并且该项将添加到菜单)。

创建菜单后,它将显示菜单项Go !!。。选择要缩短的单元格或范围,脚本将创建缩短的URL,并将其添加到工作表中。

屏幕截图

之前
在此处输入图片说明


在此处输入图片说明

注意

该代码假设,一旦您选择了要缩短的单元格或范围,结果将被添加到所选单元格/范围(OFFSET(0,1))的右侧。
如果您只想覆盖现有的URL,则将代码更改为:(OFFSET(0,0))。

我为您创建了一个示例文件:创建缩短的URL

参考文献

  1. 网址缩短
  2. 偏移量(整数,整数)
  3. onOpen()

这很棒。如果在工作表中添加了网址,脚本是否有可能自动运行?
Craig.Pearce

@ Craig.Pearce喜欢,您是说通过Google表单?
雅各布·扬·图因斯特拉

不,我在考虑事件侦听器的更多内容,以便如果用户在A2中放置一个url,则该脚本将自动运行并将缩短版本放置在B2中。
Craig.Pearce

由于Google停用了URL Shortener服务,因此似乎无法再使用了。
Jim McKeeth

8

TinyURL有一个API,可以输出带有缩短链接的文本文件。如果使用“导入数据”功能,则可以从该页面获取文本。您还需要使用CONCATENATE函数将URL串在一起。

tinyurl API的结构是 http://tinyurl.com/api-create.php?url=YOURLINKHERE

从该链接导入数据显然不会转到有效链接,但会输入:http://tinyurl.com/oegcbsx

CONCATENATE会将您的文字放在该位置。

CONCATENATE A1,并http://tinyurl.com/api-create.php?url=会生成您要查找的正确URL。然后,导入数据将获取新的短URL!

这是公式!将B2替换为您放置长网址的任何位置

=IMPORTDATA(CONCATENATE("http://tinyurl.com/api-create.php?url=" & B2))

这应该是选定的答案。比Apps Script简单得多,但同样有效。
Gaurav Ramanan

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.