在这个 Google 表格模板中处理 Joseph Asinyo 的脚本,除了导入通道之外的每张表格都工作正常。
问题:无论您输入什么通道名称,您都会得到相同的输出: 输出截图
我认为需要在“导入通道”部分修复或更新某些内容才能填充数据,但我不确定为什么它在其他功能正常时不起作用。这就是我需要帮助解决的问题。
还想知道是否有办法将频道输入从“频道名称”更改为“频道句柄”(如果用户不键入它,则可以使用普通的@名称,也可以不输入,也许使用 forHandle 或类似的东西) .”
这是脚本:
/**
* IMPORT FROM YOUTUBE CUSTOM FUNCTIONS
*
* Written with ❤️ by Joseph Asinyo
*/
// IMPORTANT NOTE: Deploy the script as a web app and insert the url below
var WEB_APP_URL = "https://script.google.com/macros/s/**keyhiddenforprivacy**/exec"
// Web Apps using as the wrapper.
function doGet(e) {
var request_type = e.parameter.request_type
if(request_type == "importvideo"){
var res = getVideoData(e.parameter.videoLink)
} else if(request_type == "importsearch"){
var res = getSearchData(e.parameter.searchTerm, e.parameter.numberOfVideos)
} else if(request_type == "importchannel"){
var res = getChannelData(e.parameter.channelName)
} else if(request_type == "importchannelvideos"){
var res = getChannelVideosData(e.parameter.channelName, e.parameter.numberOfVideos)
} else if(request_type == "importcomments"){
var res = getCommentsData(e.parameter.videoLink, e.parameter.numberOfComments, e.parameter.getReplies)
}
return ContentService.createTextOutput(JSON.stringify(res));
}
function makeRequestToWebApp(parameters) {
var url = WEB_APP_URL+"?";
for (const key of Object.keys(parameters)) {
url += key+"="+parameters[key]+"&";
}
url = url.slice(0, -1); // Remove the last "&" character
console.log(url)
var response = UrlFetchApp.fetch(url).getContentText();
var result = JSON.parse(response).data;
return result;
}```
已解决:Reddit 上有人注意到问题不在于脚本,而在于 Google Sheet 公式 -
“导入通道”表 C 列中的 IMPORTCHANNEL() 公式应引用同一行 A 列中的名称。
就像 C4 目前有这个:=if(A4="","", IMPORTCHANNEL(C1)) 应该是这样:=if(A4="","", IMPORTCHANNEL(A4))