这
这是一个价值 100 万欧元的 Node 脚本吗?YouTube 订阅用户
这是一个价值 1,000.00 欧元的 Node 脚本吗?
Youtube 订阅者
故事要从我最喜欢的一个YouTube频道说起。几天前,他们发布了一个新视频,宣布订阅用户即将达到10万,届时将赠送一张价值100万欧元的代金券,用户可以用来购买新设备。
这可不是一笔小数目!尤其是如果你像我一样住在克罗地亚的话。这笔钱比这里的平均月薪高出约20%。
阴谋
我必须承认,听到公告后我立刻就被迷住了。我暂停了视频,开始思考如何成为那10万订阅者并赢得优惠券。接下来我发现,手动查看订阅者数量并等待合适的时机点击订阅按钮不会给我带来任何好运。如果我想比别人更快,我需要一台机器来帮我做这项工作。
经过短暂的头脑风暴,我想出了一个简单的解决方案,只需要Youtube API和一点 Node 代码。解决方案非常简单:我们必须知道该频道有多少订阅者,这样当订阅者数量达到 99,999 时,我们就需要订阅。
挑战
如果您已经在考虑实施,那么您就会知道我们需要setInterval
或者setTimeout
我们可以反复检查订阅者的数量。
我们这里唯一的限制是YouTube 数据 API 配额使用。我们默认的配额分配是每天 10,000 个单位,这意味着每个请求都会花费我们一些单位。
在我们的例子中,如果我们想要获得一定数量的频道订阅者,我们需要发起一个请求,https://www.googleapis.com/youtube/v3/channels?part=statistics
而该请求将花费 3 个单位。您可以使用YouTube 配额计算器来计算您的配额成本。
如果我们每秒检查一次订阅者数量,脚本运行 55 分钟就会耗尽配额,这显然不够;我们希望脚本运行更长时间,以免错失良机。解决此限制的唯一方法是根据订阅者数量使用不同的间隔延迟。这意味着,当订阅者数量接近 10 万时,我们将更频繁地执行请求。一开始,我们将每小时发送一个请求,然后逐步降低到 300 毫秒。
解决方案
检查下面这个 repo 中的解决方案并尝试一下。
Youtube 订阅者
如果您想知道为什么创建这个 repo,请阅读这个关于 1,000.00 欧元代金券的故事。
安装
克隆存储库
$ git clone https://github.com/davinci2015/youtube-subscriber.git
cd 进入目录
$ cd youtube-subscriber
安装 NPM 依赖项
$ npm install
配置
在运行脚本之前,您应该更新config.js
文件内的变量。
更新以下变量:
channelId
client_secret
client_id
运行服务器
更新配置变量后,您可以运行服务器并让其发挥魔力。
$ node main.js
捻
完成实现后,我继续观看他们宣布赏金的视频。那一刻我意识到我搞砸了。这根本不关乎成为第10万个订阅者,而是关乎访问他们的社交账号并参与随机抽取的有奖游戏。
所以,我现在手上有一份已发布的脚本,却没有价值 100 万欧元的代金券。不过,往好处想——至少我学到了新东西,而且,也许将来这个脚本能帮助别人赢得代金券,谁知道呢。
在那之前,祝你编程愉快!
文章来源:https://dev.to/cobe_tech/is-this-1-000-00-worth-node-script-548l