我正在尝试制作一个示例应用程序,可以
-
在youtube上搜索给定文本关键字的视频
-
像Youtube Android App一样列出结果
-
播放所选视频
所以我开始在谷歌上搜索如何才能做到这一点。我下载了一些示例,特别是在这里(他们仍然使用Eclipse,所以想象一下这些示例一定是最新的),它们都坏了,它们甚至不能在我的智能手机上开箱运行,我的智能手机是运行4.2的三星。
所以我做了更多的谷歌,并最终在其他网站上使用旧版本的API过时的代码样本。最后出现在同一个网站上…但现在我试着阅读文档,所以我从这里开始这个非常基本的例子。我试着用自己的浏览器手动请求一些简单的东西:https://www.googleapis.com/youtube/v3/search?part=cats
我得到的响应是:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
当我试图理解这一点时,我看到我们这里有一些关于认证密钥的东西。这一切意味着什么?谷歌会对我的应用程序施加什么限制?是不是我的应用每天只能看100个视频?在一个可能有1000个用户观看视频的世界里,这么快就耗尽了我的每日限制?!
所以最后,我非常害怕阅读无穷无尽的文档,这些文档将使我一无所获,或者浪费我的时间在过时的代码示例上,这也将使我一无所获。我该怎么办?为什么这么难用呢?如果这个API很糟糕,还有其他替代方案吗?
你怎么知道的?有那么多youtube应用程序,我似乎不能理解这一点。我觉得自己很笨。
如果不需要访问用户的私有数据,最简单的方法是使用API密钥。一旦您注册了项目并设置了API密钥,您所需要做的就是将key=<your-API-key>
作为查询参数添加到请求中。例:https://www.googleapis.com/youtube/v3/search?key=<your-API-key>&part=cats
关于限制,您每天有5000万的使用配额,尽管不同的请求使用不同数量的配额(每个请求的使用量记录)。这5000万由你产品的所有用户共享。如果你为你的请求实现一些基本的缓存,你不应该接近这个限制,除非你有成千上万的日活跃用户。
我发现遵循文档是相当容易的,一旦你得到了你的第一个命令。一旦你解决了第一个问题,那就很容易了。这是目前访问YouTube数据的唯一方法。