我们可以在没有 OAuth 的情况下使用 google youtube 数据 api

Can we use google youtube data api without OAuth

阅读 Google API 的文档后。我知道如果我们创建的项目需要访问私有数据,我们应该使用oauth。但这是我的情况。我们会在Youtube上开一个企业账户,我们会创建一个项目来推送视频到我们自己的账户,我们不需要操作其他用户的账户。我们可以在没有 OAuth 的情况下使用 google youtube 数据 api 吗?

使用Google APIs.

有两种访问私人用户数据的方法
  1. 海峡Oauth2。您同意询问帐户所有者是否可以访问它
  2. Service accounts 由开发者技术预授权

通常我会说,因为您只能访问您拥有的一个帐户,所以请使用服务帐户。不幸的是,YouTube API 不支持服务帐户身份验证。

由于缺少服务帐户支持,您将不得不使用 Oauth2。我过去这样做过。

使用某种服务器端语言对您的脚本进行一次身份验证。身份验证服务器将 return 给你一个刷新令牌。可以随时使用刷新令牌来获取新的访问令牌。访问令牌用于访问 Google APIs,并且仅在一个小时内有效。将此刷新令牌保存在某个地方。然后,您就可以随时允许访问相关的 YouTube 帐户。

注意:你一定要看。刷新令牌在极少数情况下会变得无效。我建议准备好一个脚本,它允许您再次对应用程序进行身份验证,以存储新的刷新令牌。这种情况很少见,但最好预先配对。

Oauth 游乐场

Oauth 的部分要点在于,它通过在 Google 开发人员控制台上创建项目来将您的应用程序标识为 Google。 APIs 之类的配额和访问权限是受控的。如果您向 API 发送垃圾邮件,他们会知道并关闭您。 (从未见过这种情况)

当您请求用户访问时,它会在 google 开发人员控制台上弹出项目名称。这是由 google 开发人员控制台上该项目的客户端 ID 和客户端密码标识的。当我使用 oauth 游乐场时,有人问我 'Google OAuth 2.0 Playground would like to ..'

因此,通过使用游乐场,您可以使用 Google 的客户端 ID 和客户端密码为您自己创建一个刷新令牌。如果 N 个其他开发者也这样做,则 YouTube 的配额可能会在一天内用完。同样出于安全考虑,您现在允许该项目访问您的数据。暂时忽略如果 google 突然决定删除更改客户端 ID 或生成一个新客户端 ID 会怎样。您的刷新令牌将不再有效。如果随机开发者 X 也在使用它并且他开始向所有内容发送垃圾邮件并且客户端 ID 被关闭怎么办(想想这发生在去年)你将不得不等待 google 为那个上传一个新的客户端 ID现在已被禁止。

Google OAuth 2.0 Playground 可能不错,但它不适合日常使用,IMO,仅用于测试而已。创建您自己的项目并获得您自己的访问权限,这并不难,只需要一种可以处理 http Post 的编程语言。

我的教程Google 3 legged oauth2 flow