在 Google 表格中取消缩短网址
Posted
技术标签:
【中文标题】在 Google 表格中取消缩短网址【英文标题】:Unshorten URL in Google Sheets 【发布时间】:2021-12-21 06:18:34 【问题描述】:我想通过 Google 应用脚本使用自定义函数来缩短 URL。我尝试使用此代码,但没有成功。
function ExpandURL(url)
var response = UrlFetchApp.fetch(url,followRedirects: false);
var longurl = decodeURIComponent(response.getHeaders()['Location'])
return longurl;
例如,我想使用 Google 表格中的函数显示此链接的原件 t.ly/1lzC
- 即 www.google.com
。请帮帮我。非常感谢!
【问题讨论】:
通过猜测您的问题和情况,我提出了一个答案。你能确认一下吗?如果我误解了您的问题并且没有用处,我深表歉意。 【参考方案1】:当我看到你的脚本时,我认为你的脚本有效。但是,从您的问题中的I tried with this code but it didn't work.
来看,我担心一件事。我认为当https://t.ly/1lzC
用作url
时,您的脚本会返回https://www.google.com
。但是,当t.ly/1lzC
用作url
时,无法获得https://www.google.com
。请注意这一点。
如果您想将您的脚本用作自定义函数,例如=ExpandURL(A1)
,即A1
是t.ly/1lzC
,请将其修改为=ExpandURL("https://"&A1)
。这样,https://www.google.com
就会被返回。
或者,当你想修改你的脚本时,下面的修改怎么样?
修改脚本:
function ExpandURL(url)
url = url.indexOf("https://") == 0 ? url : "https://" + url; // Added
var response = UrlFetchApp.fetch(url, followRedirects: false );
var longurl = decodeURIComponent(response.getHeaders()['Location']);
return longurl;
参考:
indexOf()【讨论】:
嗨@tanaike,非常感谢您的回复。但是,当我尝试在 App Script 上运行代码时,它抛出了这样的异常i.imgur.com/UwHaVFy.png 我上面的代码也发生了同样的情况,这就是我说它不起作用的原因。请帮帮我。谢谢! @antonietta171 您正在使用电子表格单元格中的函数,对吗?以 URL 值作为参数? @Karan 是的,这就是我想要做的。我希望当它运行时,我可以使用=ExpandURL
作为 GSheets 中的函数。之后,=ExpandURL(A1)
将显示原始 URL。
@antonietta171 您看到的错误可能是因为您正在从编辑器运行该功能。如果要测试,请创建另一个函数,然后使用有效 URL 从该函数调用 ExpandURL('https://....')。
@Karan 是的,你是对的。我在床单上试了一下,效果很好。非常感谢!!!!!!以上是关于在 Google 表格中取消缩短网址的主要内容,如果未能解决你的问题,请参考以下文章