Youtube api 对于不同的Youtube API';谁的资源?

Youtube api 对于不同的Youtube API';谁的资源?,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,我开始使用youtube API,我知道应用程序应该在Google云平台上启动,然后必须启用youtube API 因此,有三种凭证: API密钥 Oauth 2.0应用程序ID 服务帐户 到目前为止,我已经为浏览器消费创建了一个API键,从中我得到了评论和视频列表。但即使阅读文档,我也无法了解这些不同凭据之间的差异,以及youtube API需要哪种类型的凭据 我还没有做任何与youtube用户相关的事情(上传视频、评论视频,比如视频),而是纯粹的数据消费 这些主题之间有什么不同,以及对每

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

因此,有三种凭证:

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

我还没有做任何与youtube用户相关的事情(上传视频、评论视频,比如视频),而是纯粹的数据消费


这些主题之间有什么不同,以及对每个Youtube资源的需求是什么?

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

服务帐户 既然你问的是YouTube,我可以从一开始就告诉你,服务帐户身份验证不能用于YouTube资源:

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

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

OAuth 2.0应用程序ID 这可能是最常见的身份验证方式:您的用户将被重定向,以在其帐户中授予您的谷歌应用程序访问权限,然后您将获得一个代码,您将使用该代码获取acceess令牌

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

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


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