如何使用JavaScript从YouTube频道URL获取频道ID

时间:2019-11-30 09:06:02

标签: javascript html youtube-api

我正在使用YouTube API创建网站,我需要获取用户频道ID才能检索其中的数据 如何在JavaScript中执行此操作 预先感谢?

1 个答案:

答案 0 :(得分:0)

此代码已在我的项目中工作。

您可以尝试使用此代码吗

也许可以用此代码解决您的问题。

youtubeChannelId = channelName => {
  if (channelName) {
    var name = getChannelFromUrl(channelName);
    var url =
      'https://gdata.youtube.com/feeds/api/users/' +
      name +
      '?fields=id&alt=json';
    var result = UrlFetchApp.fetch(url);
    var data = Utilities.jsonParse(result.getContentText());

    if (
      typeof data['entry'] !== 'undefined' &&
      data['entry']['id']['$t'] !== 'undefined'
    ) {
      var id = 'UC' + data['entry']['id']['$t'].split('/').pop();

      return id;
    }
  }

  return '';
};

getChannelFromUrl = url => {
  var pattern = new RegExp(
    '^(https?://)?(www.)?youtube.com/(user/)?([a-z-_0-9]+)/?([?#]?.*)',
    'i',
  );
  var matches = url.match(pattern);
  if (matches) {
    return matches[4];
  }

  return url;
};