2016-11-22 82 views
1

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

+0

随着我从@DalmTo得到的帮助下,我创建了使用谷歌节点客户端API在github上上传视频的项目。 [githubLink](https://github.com/ruhaitsia/timeconsole)。如果你使用google oauth2client有同样的问题,请看看。 –

回答

3

有两种方法可以通过Google API访问私人用户数据。

  1. 海峡Oauth2。如果您有权要求账户所有人是否可以访问它
  2. Service accounts这是技术上由开发人员授权的。

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

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

使用某种服务器端语言验证脚本一次。认证服务器将返回一个Refresh令牌。刷新令牌可以随时用于获取新的访问令牌。访问令牌用于访问Google API,并且仅在一小时内有效。将此刷新令牌保存在某处。随时可以随时访问有问题的YouTube帐户。

注意:你将不得不观看它。刷新令牌很少会变得无效。我建议准备好一个脚本,这将允许您重新验证应用程序,并再次存储新的刷新令牌。它罕见的发生,但它可以发生最好的预先配对。

的Oauth播放地面

的Oauth点的部分原因是,它识别您的应用,虽然谷歌创建谷歌开发者控制台上您的项目。比如配额和访问哪些API的控制。如果你发送垃圾邮件,他们会知道并关闭你。 (从未见过这种情况)

当您请求访问用户时,它会在Google开发者控制台中弹出项目名称。这在Google开发者控制台中由该项目的客户端ID和客户端专属号识别。当我使用oauth游乐场时,我被问到'Google OAuth 2.0 Playground想要..'

所以通过使用游乐场,您正在使用谷歌客户端ID和客户端秘密为您自己创建刷新令牌。如果其他开发者也这样做,YouTube的配额可能会在一天内用完。同时明智的是,您现在可以让该项目访问您的数据。如果谷歌突然决定删除更改客户端ID或生成一个新ID,那么请忽略这一点。您的刷新令牌将不再有效。如果随机开发X也在使用它,并且他开始发送垃圾邮件并且客户端ID被关闭(想想这发生在去年),您将不得不等待谷歌上传一个新的客户端ID,取缔。

谷歌OAuth 2.0游乐场可能缝好,但它不适合日常使用IMO它的好测试没有更多。创建你自己的项目并不难,只需要一个可以处理http Post的编程语言。

我的教程Google 3 legged oauth2 flow

+0

我也注意到Google提供了一个名为oauth playground的工具。它可以生成刷新令牌和访问令牌,我可以使用此工具而不是编写自己的脚本来获取刷新令牌吗?长期刷新的代码不会过期,我们可以在任何时候使用它来生成访问令牌,对吧? 但服务帐户不能用于Youtube数据api真的让事情变得困难。 感谢您的帮助。 DalmTo,真的很感激。 –

+0

最后成为文本墙对不起:)我已经做了四年,现在我很乐意提供帮助。可能会让你时间朝着正确的方向指引你。 – DaImTo

+1

@DalmTo,我在YouTube上观看了此视频[使用OAuth游乐场为YouTube API调用生成刷新令牌](https://www.youtube.com/watch?v=hfWe1gPCnzc&list=PLhBgTdAWkxeB-zCekGukAo0DzmpwBiua2&index=6)。我们可以使用我们自己的客户端ID和密码在oauth操场中生成刷新令牌。 但是,我应该编写自己的代码来生成刷新令牌。感谢您的详细解释。 –

相关问题