为什么此 YouTube 数据 API 到 Google Sheets Apps 脚本的“导入通道”功能不起作用?

问题描述 投票:0回答:1

在这个 Google 表格模板中处理 Joseph Asinyo 的脚本,除了导入通道之外的每张表格都工作正常。

问题:无论您输入什么通道名称,您都会得到相同的输出: 输出截图

  1. 我认为需要在“导入通道”部分修复或更新某些内容才能填充数据,但我不确定为什么它在其他功能正常时不起作用。这就是我需要帮助解决的问题。

  2. 还想知道是否有办法将频道输入从“频道名称”更改为“频道句柄”(如果用户不键入它,则可以使用普通的@名称,也可以不输入,也许使用 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;
}```
google-sheets google-apps-script youtube youtube-api youtube-data-api
1个回答
0
投票

已解决:Reddit 上有人注意到问题不在于脚本,而在于 Google Sheet 公式 -

“导入通道”表 C 列中的 IMPORTCHANNEL() 公式应引用同一行 A 列中的名称。

就像 C4 目前有这个:=if(A4="","", IMPORTCHANNEL(C1)) 应该是这样:=if(A4="","", IMPORTCHANNEL(A4))

© www.soinside.com 2019 - 2024. All rights reserved.