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

时间:2016-11-22 03:53:34

标签: youtube-api youtube-data-api

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

1 个答案:

答案 0 :(得分:7)

使用Google API访问私人用户数据的方法有两种。

  1. 海峡Oauth2。如果您可以访问该帐户的所有者,则表示您同意该帐户的所有者
  2. Service accounts技术上是开发人员事先授权的。
  3. 通常我会说,因为您只访问您拥有的一个帐户,请使用服务帐户。很遗憾,YouTube API不支持服务帐户身份验证。

    由于缺乏服务帐户支持,您必须使用Oauth2。我过去做过这个。

    使用某种服务器端语言对脚本进行一次身份验证。身份验证服务器将返回刷新令牌。可以随时使用刷新令牌来获取新的访问令牌。访问令牌用于访问Google API,仅在一小时内有效。在某处保存此刷新令牌。然后,您可以随时访问相关的YouTube帐户。

    注意:您必须观看它。刷新令牌在极少数情况下可能无效。我建议准备一个脚本,以便您再次重新验证应用程序,并存储新的刷新令牌。它很少发生,但最好是预先配对。

    Oauth Play Ground

    Oauth的部分观点是,它通过在Google开发者控制台上创建项目来识别您的Google应用程序。像配额和访问API这样的事情。如果你垃圾邮件API,他们会知道并关闭你。 (从未见过这种情况)

    当您请求访问用户时,它会在Google开发者控制台上弹出项目名称。这是由谷歌开发者控制台上该项目的客户端ID和客户端秘密标识的。当我使用oauth游乐场时,我会被问到'Google OAuth 2.0游乐场想要...'

    因此,通过使用游乐场,您使用Googles客户端ID和客户端secrete为您自己创建刷新令牌。如果其他N个开发者也这样做,YouTube的配额可能会在一天内用完。此外,安全方面,您现在可以让该项目访问您的数据。如果google突然决定删除更改客户端ID或生成新的ID,请忽略它。您的刷新令牌将不再有效。如果随机开发者X也在使用它并且他开始发送垃圾邮件并且客户端ID被关闭(想想这发生在去年),你将不得不等待谷歌上传一个新的客户端ID,现在已经被禁止。

    Google OAuth 2.0 Playground可能很好用,但它不适合日常使用IMO,它不再适用于测试。创建自己的项目并获得自己的访问并不难,只需要一个可以处理http Post的编程语言。

    我的教程Google 3 legged oauth2 flow