相关疑难解决方法(0)

授权命令行工具使用Google API(通过OAuth2.0或其他任何东西)

我了解OAuth 2.0如何在移动应用或网站的环境中运行 - 我的情况也不是.

我有一个C++ 命令行应用程序,我想访问其中一个Google服务(Google Fusion Tables),但我认为这个问题适用于任何Google服务,或者heck,也许还有任何必须处理的命令行应用程序使用OAuth2.

我有用户名.我有密码(用户输入密码).我需要获得一个令牌,以便我可以通过Curl进行调用.实现这一目标的最简单方法是什么?

更新1:

在完成文档后,似乎最难以理解的OAuth2流程将是"已安装的应用程序".

我的想法是我的命令行工具将在不需要令牌的情况下发出对公共表的请求(但似乎我们仍然需要从Google发送AppID,我可以从Google API仪表板中获取).

每当我的命令行工具,需要使用专用的资源,该用户将被要求提供一个谷歌提供的授权码(其中我的命令行工具,就可以使用得到一个可用的令牌).如果用户未在命令行中提供授权代码,我的工具只会打印一个用户可以粘贴到URL的链接以生成授权代码.链接看起来像这样:

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/fusiontables&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=812741506391-h38jh0j4fv0ce1krdkiq0hfvt6n5amrf. apps.googleusercontent.com

一旦用户接受,她将必须将该授权代码粘贴到终端,以便命令行工具使用它.命令行工具将使用授权代码向Google请求令牌,然后,最后,我可以使用Google令牌进行API调用.

我还不清楚一些事情.授权码是否会改变?如果是这样,似乎我需要保存令牌并在某处刷新令牌,这样每次令牌到期时我都可以重用刷新令牌.

它只是我,还是整个事情看起来像是疯狂的谈话,以便我可以从命令行使用Google API?

我通常会使用ClientLogin流程,但似乎所有内容都指出它很快就会被弃用.

command-line authorization oauth google-api oauth-2.0

25
推荐指数
1
解决办法
1万
查看次数