【发布时间】:2021-08-04 14:52:54
【问题描述】:
在此处检索 Google 表格上的重定向 URL 时遇到一些问题。
单元格 A1:6962110916490185986
单元格 B1:=getRedirect(CONCATENATE("https://t.tiktok.com/i18n/share/video/",A1)
预期结果:https://www.tiktok.com/@hoaa.hanassii/video/6962110916490185986?
实际结果:https://t.tiktok.com/i18n/share/video/6962110916490185986
脚本:
function getRedirect(url) {
var response = UrlFetchApp.fetch(url,{'followRedirects': false, 'muteHttpExceptions': false});
var redirectUrl = response.getHeaders()['Location'];
var responseCode = response.getResponseCode();
if (redirectUrl) {
var nextRedirectUrl = getRedirect(redirectUrl);
Logger.log(url + " is redirecting to " + redirectUrl + ". (" + responseCode + ")");
return nextRedirectUrl;
}
else {
Logger.log(url + " is canonical. (" + responseCode + ")");
return url;
}
}
【问题讨论】:
-
问题似乎与post 类似。编辑器和自定义函数有不同的结果。 (我通过编辑器运行您的脚本并且 url 正在重定向,而自定义函数没有)。您可能需要考虑使用自定义菜单而不是自定义函数来获取重定向的 url。
-
您可能还想在 issuetracker.google.com 中提交票证
-
嘿@RonM ,尝试将其更改为通过自定义菜单运行。还是不行。不知道我现在应该怎么做。不过感谢您的建议,也很乐意尝试其他方法。
-
您能分享一下您是如何通过自定义菜单做到这一点的吗?我正在考虑提出一种方法,但我需要你对它应该如何做的见解,例如这个基本 url 修复吗?或者您打算选择更改此
https://t.tiktok.com/i18n/share/video/并且您的列 a 将始终包含视频 ID 或其他内容?请分享您是如何使用自定义菜单的,以便我可以帮助调试 -
@RonM 实际上只是在脚本中首先添加了 onOpen() 部分的函数,如此处所示 (developers.google.com/apps-script/guides/menus),然后是完全相同的脚本。仍然没有按照我的想法运行。不确定这是否是“使用自定义菜单而不是自定义功能”的意思。很高兴通过 Zoom 演练并解决这个问题。
标签: google-apps-script google-sheets google-sheets-formula