对于不同的 Youtube API 资源,应该使用什么样的身份验证策略?



我开始使用youtube API,我知道一个应用程序应该在谷歌云平台启动,然后youtube API必须启用

有三种凭据:

  • API键
  • Oauth 2.0应用ID
  • 服务帐户
到目前为止,我已经创建了一个用于浏览器消费的API密钥,从那里我得到了评论和列表视频。但是,即使阅读文档,我也无法得到这些不同凭据之间的差异,以及youtube API需要哪种类型的凭据。

我还没有做任何与youtube用户相关的事情(上传视频,评论视频,喜欢视频),但纯粹的数据消费。

这些凭证之间的区别和每个Youtube资源的需求是什么?

我会像小龙虾一样一个接一个地看一遍:从最后一个到第一个:

服务帐户

既然你在问YouTube,我可以从一开始就告诉你,根据文档,服务帐户认证不能用于YouTube资源:

服务帐户不能用于YouTube Data API调用,因为服务帐户需要一个关联的YouTube频道,并且您不能将新的或现有的频道与服务帐户关联。如果您使用服务帐户调用YouTube Data API, API服务器将返回一个错误,错误类型设置为未授权,原因设置为youtubeSignupRequired

这对于仅服务器身份验证很有用(当您不需要用户交互时)。

OAuth 2.0应用程序ID

这可能是最常见的身份验证方式:您的用户将被重定向到授予您的谷歌应用程序在他们的帐户访问权限,然后你会得到一个代码,你用它来获得访问令牌。

这对于任何可用的YouTube API请求来说都是完美的,考虑到范围,显然。

API键

你只能在不需要用户授权的请求(某些列表操作)中使用API密钥。


实际上,如果你想要公共资源,只需要使用API密钥。如果您需要访问用户数据,请使用OAuth 2.0工作流。

最新更新