以编程方式登录Google+帐户

时间:2016-10-21 14:21:42

标签: go google-account

有一项服务可以授权使用他们的Google帐户。 我需要使用该服务自动化工作流程,因此我的软件必须使用给定的Google帐户登录。 但是,在我不知道从哪里开始之前,我从未这样做过。大多数相关答案都建议向用户显示授权页面,让他们输入他们的Google帐户的登录名/密码,但事实并非如此,因为我的软件必须完全自动化,而且正在终端模式下运行所以没有浏览器也不应该让任何人输入任何内容。

我想知道这种自动化是否可行,我应该从哪里开始。

1 个答案:

答案 0 :(得分:0)

使用Google对用户进行身份验证的标准方法是通过三条腿oauth身份验证流程(在浏览器中)。您可以使用oauth2或更全面的包goth

来执行此操作

一般流程是:

  1. 将用户重定向到Google网站上的目标网页,系统会提示他们授予您访问权限。
  2. 谷歌将使用特殊代码回复您的网站。
  3. 您再次请求交换该代码以获取访问令牌和刷新令牌。
  4. 使用访问令牌使用google apis,并使用刷新令牌随时获取新的访问令牌。
  5. 它比这更详细,并且有很多权利要保证它的安全,但这是一般的想法。

    现在,就像你说的那样,你的应用程序是一个命令行,所以很难做到这一点。不幸的是,您可能需要这样做一次,只是为了获得刷新令牌。完成后,您可以将其提供给您的应用程序:myapp -google-token=FOOBAR123,您的应用可以将referesh令牌交换为有效的访问令牌。

    也许这会有所帮助:https://github.com/burnash/gspread/wiki/How-to-get-OAuth-access-token-in-console%3F