在 Google Apps 脚本中取消 ow.ly URL

unshorten ow.ly URL in Google Apps Script

我使用以下代码(posted on )在 Google App 脚本中取消缩短 URLs:

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

但是当我将它用于 ow.ly example URL:

function test() {
  Logger.log( ExpandURL("OWLYURL"))
}

我在日志中收到以下消息错误 window:

Exception: Address unavailable: OWLYURL

(请将 OWLYURL 替换为 https://ow.ly /d9AV30jRJWJ(不带 space);因为我不能 post 我的问题,因为正文中包含如此简单的内容 URL)

我试过的许多其他 ow.ly URL 也会发生同样的事情。

有什么办法可以解决这个问题吗?

在你的问题中,使用了https:// ow . ly /d9AV30jRJWJ(包含空格是为了避免Whosebug的错误。)。但是,我认为在这种情况下,它可能是 http:// ow . ly /d9AV30jRJWJ。因为当我访问https:// ow . ly /d9AV30jRJWJ时,没有返回任何响应。另一方面,当我访问 http:// ow . ly /d9AV30jRJWJ 时,返回了博客页面。如果我的理解是正确的,下面的修改怎么样?

修改后的脚本:

function ExpandURL(url) {
  url = /https?:\/\//.test(url) ? url : "https://" + url; // Modified
  var response = UrlFetchApp.fetch(url, { followRedirects: false });
  var longurl = decodeURIComponent(response.getHeaders()['Location']);
  return longurl;
}

function test() {
  Logger.log(ExpandURL("http:// ow . ly /d9AV30jRJWJ")) // When you test this, please modify ` ow . ly ` to `ow.ly`.
}
  • 当这个test为运行时,返回https://blog.leadquizzes.com/ubersuggest-find-profitable-keywords-with-neil-patels-free-seo-tool?platform=hootsuite