如何从不同频道的 youtube 获取数据 api node.js

How to get data from a different channel youtube api node.js

我今天开始使用 YouTube 的 API,因为我想制作一个可以显示 YouTube 频道数据的 Discord 机器人。因此,我访问了 YouTube API 站点上的指南,遵循了 node.js 指南,但是 运行 遇到了问题。我不知道如何从与 Google 开发人员不同的渠道获取数据(这是他们在解释中提取数据的渠道)。

function getChannel(auth) {
    var service = google.youtube('v3');
    service.channels.list({
      auth: auth,
      part: 'snippet,contentDetails,statistics',
      forUsername: 'GoogleDevelopers'
    }, function(err, response) {
      if (err) {
        console.log('The API returned an error: ' + err);
        return;
      }
      var channels = response.data.items;
      if (channels.length == 0) {
        console.log('No channel found.');
      } else {
        console.log('This channel\'s ID is %s. Its title is \'%s\', and ' +
                    'it has %s views.',
                    channels[0].id,
                    channels[0].snippet.title,
                    channels[0].statistics.viewCount);
      }
    });
  }

以上是他们使用的代码。我希望我可以将 Google Developers 更改为任何其他 YouTube 频道,它会 return 来自该频道的数据,但如果我将其更改为,例如 Fireship,我会收到以下错误。我搜索了他们的 API 参考资料,但我真的不明白我做错了什么。

if (channels.length == 0) {
                   ^

TypeError: Cannot read properties of undefined (reading 'length')

我应该怎么做才能解决这个问题?

提前致谢!

如果您查看 Channel.list 的文档,您会发现参数 forUsername

The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username.

因此,如果您想为不同的频道或不同的用户找到它,只需更改

forUsername: 'GoogleDevelopers'