【问题标题】:YouTube.Search.list ReferenceErrorYouTube.Search.list 参考错误
【发布时间】:2018-03-12 21:51:45
【问题描述】:

Google Apps 脚本中的 YouTube.Search.list 显示此错误:ReferenceError: "YouTube" is not defined(第 22 行)。

仪表板显示每次我运行代码时请求都会通过。 Youtube Data API 在 Apps Script 和 Dev Console 中启用。

任何有关我为什么会收到此错误的帮助表示赞赏。

/*
  YouTube RSS Feeds
  Written by @user1535152 http://stackoverflow.com/q/30486682/512127
  Based on http://www.labnol.org/internet/twitter-rss-feed/28149/  
*/

function doGet(e) {

  var title  = ("Youtube RSS Feed for " + e.parameter.search),
      timez  = Session.getScriptTimeZone(),
      search = encodeURIComponent(e.parameter.search),
      link   = ("https://www.youtube.com/results?search_query=" + search),
      self   = ScriptApp.getService().getUrl() + "?" + search;

  var rss='<?xml version="1.0"?>';
  rss+='<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
  rss+='<channel><title>'+title+'</title>';
  rss+='<link>'+link+'</link>';
  rss+='<atom:link href="'+self+'" rel="self" type="application/rss+xml" />';
  rss+='<description>' + title + ' updated on ' + new Date() + '.</description>';

  var results = YouTube.Search.list('id, snippet', {
    q: search,
    maxResults: 50,
    order: 'date'
  });

  for (var i = 0; i < results.items.length; i++){
    var item = results.items[i];
    rss += "<item>";
    rss += "<title>" + item.snippet.title + "</title>";
    rss += "<link>http://www.youtube.com/watch?v=" + item.id.videoId + "</link>";
    rss += "<description>" + item.snippet.description + "</description>";
    rss += "<pubDate>" + Utilities.formatDate(new Date(item.snippet.publishedAt), timez, "EEE, dd MMM yyyy HH:mm:ss Z") + "</pubDate>";
    rss += "<guid>http://www.youtube.com/watch?v=" + item.id.videoId + "</guid>";
    rss += "</item>";
  }

  rss+="</channel></rss>";

  return ContentService.createTextOutput(rss).setMimeType(ContentService.MimeType.RSS);
}

【问题讨论】:

    标签: google-apps-script youtube youtube-data-api


    【解决方案1】:

    根据您的问题,发现“在 Apps Script 和 Dev Console 中启用了 Youtube Data API。”。但是运行脚本时会出现ReferenceError: "YouTube" is not defined 的错误。所以请确认以下设置。

    要使用YouTube.Search.list(),不仅需要在 API 控制台启用 API,还需要在高级 Google 服务中启用。我确认当YouTube Data API 在高级谷歌服务中关闭时,会发生同样的错误。为了在高级谷歌服务中启用YouTube Data API,请确认如下。

    1. 打开脚本编辑器有脚本。
    2. 点击资源 -> 高级 Google 服务。
    3. 开启YouTube Data API
    4. 点击确定。

    如果YouTube Data API“关闭”,请点击开启。之后,请再次尝试运行。

    如果这对你没有用,我很抱歉。

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 2013-02-11
      • 2015-07-30
      • 2012-12-27
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多