如何从不同频道的 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'
我今天开始使用 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'