Node.js 获取所有YouTube频道及其统计数据(每日)的最佳做法是什么

Node.js 获取所有YouTube频道及其统计数据(每日)的最佳做法是什么,node.js,youtube-api,youtube-analytics-api,Node.js,Youtube Api,Youtube Analytics Api,我想从youtube上获取所有频道及其每日统计数据 在我研究的过程中,这是我必须遵循的方法: 如果以前没有使用此API存储,请获取所有频道并存储:-> 使用此参数:type=channel,publishedAfter=昨日00:00,publishedBefore=今日00:00,maxResults 50,order=Date。我将在发布后中通过24小时范围,在之前发布(例如从00:00到下一天00:00),这样我可以获得最大数量的结果,因为youtube API在分页方面存在一些错误/限

我想从youtube上获取所有频道及其每日统计数据

在我研究的过程中,这是我必须遵循的方法:

  • 如果以前没有使用此API存储,请获取所有频道并存储:->

    使用此参数:
    type=channel,publishedAfter=昨日00:00,publishedBefore=今日00:00,maxResults 50,order=Date
    。我将在<代码>发布后<代码>中通过24小时范围,在<代码>之前发布<代码>(例如从00:00到下一天00:00),这样我可以获得最大数量的结果,因为youtube API在分页方面存在一些错误/限制。他们每次命中最多给出500个结果。我曾尝试在2019年之前发布
    publishedBefore
    ,2005年之后发布
    publishedBefore
    ,但我只获得了大约400个频道。这就是我通过24小时小范围测试的原因

  • 获取所有通道后,我将使用此API获取该通道的公共可用统计数据 我将创建一个cron作业,它将在每天的某个时间(可能是00:00)运行这些步骤。 然后我会计算当天的数据,计算前一天的数据

    e、 g

    4月10日视图=4月11日00:00视图-4月10日00:00视图

    我的问题是:

    我还可以采用其他方法吗?

    上述方法有任何问题吗?

    由于API限制,它将无法工作。 原则上你的想法是可以的。由于某些限制,我认为它不起作用

    如果你相信,YouTube拥有超过2300万个频道(截至2018年12月)

    YouTube在查询时有一定的限制

    启用YouTube数据API的项目具有默认配额 每天分配10000套,数量足以满足 绝大多数API用户。默认配额,即 根据变化,帮助我们优化配额分配并扩大业务规模 以对我们的API用户更有意义的方式构建基础架构。你 可以在Google中的API使用选项卡上查看您的配额使用情况 开发人员控制台

    假设您启用了此功能,看起来您每天有10K个单位分配给您,并且每个搜索查询都要花费成本

    这意味着您可以调用搜索API 100次(在调用通道API之前耗尽您的单位)-使用max result标志(最多50次),每天应该会生成5K个结果

    如果这个数字比那些在24小时内每天发表文章的人要多,你会没事的,你最终可能会有一些重要的数据。但是您不能通过API调用获得所有数据。您将受到API调用的限制

    如果每天发布的视频数量超过5K(我认为无论如何应该远远超过这个数字),那么你就会丢失很多数据

    这很常见,但有更好的方法。 (这可能不适用于YouTube,只是一般性的建议)


    我们有一些类似于您所描述的内部运行—周期性地接收数据源。所以,是的,在整个行业中,有一个cron任务来做类似的事情是相当标准的**但是**需要不同的体系结构,更好的方法是类似webhooks的东西。基本上,每次统计数据发生变化时,你都会通知相关方发生了变化。请参见

    谢谢您的详细回答。现在我有两个问题。1.Pub/Sub:我知道Pub/Sub。但是youtube API提供了这个功能吗?2.向谷歌请求更多的配额分配是一个好主意吗?据我所知,YouTube API没有提供这种功能——我举了一个一般性的例子——应该这样做。当然,你可以向谷歌申请更多的配额分配,但我认为你永远不会被允许拥有他们拥有的相同数据。老实说,我会更专注于视频的子集,而不是追求一切。当你在Google/YouTube上聊天的时候,一切都是一个非常非常大的集合。请给出我的答案,以澄清酒吧/苏比发现这一点的原因。其中提到,我们可以为同一应用程序使用来自多个项目的多个API键。这不是个好主意吗?我会更关注视频的一个子集:在我的应用程序中,任何人都可以看到YT(每天)任何频道的viewCount和SubscriberCount。这就是我需要所有频道的原因。这绝对不是一个好主意。如果您只是试图拼凑一个没有SLA/没有可靠性标准的项目,那么您可以尽一切努力尝试。Google/YouTube可能有其服务条款,其中规定了您可以使用(1)多少帐户访问其服务。如果您的帐户被发现并被阻止,因为您试图超过YouTube允许的API限制,会发生什么?您的服务将停止运行!