【问题标题】:How do i get a subscriber count from youtube api by channel name我如何通过频道名称从 youtube api 获取订阅者数量
【发布时间】:2022-01-14 17:51:51
【问题描述】:

我正在尝试使用 youtube 的 api 通过使用 node.js 的频道名称来获取频道的订阅者数量。我该怎么做?

【问题讨论】:

标签: node.js youtube youtube-api


【解决方案1】:

您可以使用official YouTube API channels.list 方法获取如下统计信息:subscriberCount、videoCount 和 viewCount。

Get statistics from a YouTube channel                                                                                 Run in Fusebit
const youtube = googleClient.youtube('v3');
const channelName = 'GoogleDevelopers';
const channelsResponse = await youtube.channels.list({
  part: 'id,statistics',
  forUsername: channelName,
});

if (channelsResponse.data.items && channelsResponse.data.items.length) {
  const { statistics: { subscriberCount, videoCount, viewCount } } = channelsResponse.data.items[0];
  console.log(`The channel ${channelName} has ??‍?‍?? ${subscriberCount} subscribers, ? ${videoCount} videos and ? ${viewCount} views.`);
} else {
  console.log = `Channel not found: ${channelName}`;
}

[更新]

基于 cmets,这里是一个如何根据搜索词搜索频道的示例,然后您将使用频道 id 从前面的代码中获取统计信息,而不是发送 forUserName 参数您将发送 id See search API docs here

  const channelsResponse = await youtube.search.list({
    part: 'snippet',
    q: searchTerm,
    maxResults: 10,
    type: 'channel',
    order: 'viewCount' // show more popular first
  });

这是搜索中每个项目返回的response object

{
  "kind": "youtube#searchResult",
  "etag": etag,
  "id": {
    "kind": string,
    "videoId": string,
    "channelId": string,
    "playlistId": string
  },
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "channelTitle": string,
    "liveBroadcastContent": string
  }
}

【讨论】:

  • forusername 输入不适用于已更改名称的频道,例如流行的 youtube 频道“MrBeast”。我已经使用频道文档中的“尝试此 api”进行了尝试,并向我展示了一个首先拥有频道名称的人。当我搜索他的原始名称“mrbeast6000”时,它只显示他的频道统计信息。我正在使用 discord.js 从不和谐中获得输入,输入的人可能不知道他的原始频道名称。
  • 有道理,所以,如果你正在构建一个不和谐的机器人,你可能希望首先显示一个使用搜索词找到的频道列表,然后允许用户选择特定频道以获取统计信息,否则很难猜出用户感兴趣的频道,我已经更新了代码,并举例说明了如何搜索频道,按观看次数排序,因此,热门频道将首先出现。我也可以向您展示一个 Discord 示例,但超出了原始问题的范围,因此我不想在此处添加它。
猜你喜欢
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 2021-02-19
  • 2015-09-27
  • 2020-10-26
  • 2018-04-21
  • 1970-01-01
相关资源
最近更新 更多