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

时间:2015-10-15 15:21:09

标签: youtube-api youtube-data-api

我开始使用youtube API,我知道应该在Google Cloud Platform上启动应用程序,然后必须启用Youtube API

所以,有三种凭证:

  • API密钥
  • Oauth 2.0申请ID
  • 服务帐户

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

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

这些证书之间的差异以及每个Youtube资源的需求是什么?

1 个答案:

答案 0 :(得分:2)

我将像小龙虾一样逐一浏览它们:从最后一个到第一个:

服务帐户

由于您要求使用YouTube,我可以从一开始就告诉您,according to the docs 服务帐户身份验证无法用于YouTube资源:< / p>

  

服务帐户不适用于YouTube Data API调用,因为服务帐户需要关联的YouTube频道,您无法将新频道或现有频道与服务帐户相关联。如果您使用服务帐户调用YouTube数据API,则API服务器会返回错误,错误类型设置为未授权,并将原因设置为youtubeSignupRequired

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

OAuth 2.0应用程序ID

这可能是最常见的身份验证方式:您的用户将被重定向以在其帐户中授予您的Google应用访问权限,然后您将获得用于获取加入令牌的代码。

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

API密钥

您只能将API密钥用于不需要用户授权的请求(某些列表操作)。

因此,实际上,如果您需要公共资源,只需使用API​​密钥即可。如果您需要访问用户的数据,请使用OAuth 2.0工作流程。