当前位置: 首页 > 知识库问答 >
问题:

只使用curl获取google Oauth2访问令牌

窦啸
2023-03-14

我想使用curl上传一个pdf文件到Google Drive,用于自动测试目的。

我已经在Google云平台上创建了一个帐户(获得了客户端ID和机密),并启用了Google Drive API。

谢了。

共有1个答案

相云
2023-03-14

下面的命令将向您展示如何使用curl授权到Google。您必须至少使用web浏览器一次才能获得刷新令牌,一旦有了刷新令牌,您就可以使用命令再次请求新的令牌。

# Client id from Google Developer console
# Client Secret from Google Developer console
# Scope this is a space separated list of the scopes of access you are requesting.

# Authorization link.  Place this in a browser and copy the code that is returned after you accept the scopes.
https://accounts.google.com/o/oauth2/auth?client_id=[Application Client Id]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=[Scopes]&response_type=code

# Exchange Authorization code for an access token and a refresh token.

curl \
--request POST \
--data "code=[Authentication code from authorization link]&client_id=[Application Client Id]&client_secret=[Application Client Secret]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code" \
https://accounts.google.com/o/oauth2/token

# Exchange a refresh token for a new access token.
curl \
--request POST \
--data 'client_id=[Application Client Id]&client_secret=[Application Client Secret]&refresh_token=[Refresh token granted by second step]&grant_type=refresh_token' \
https://accounts.google.com/o/oauth2/token

小贴士:

上传分为两个部分,你需要上传你的元数据,然后是一个文件流的实际文件。

  • 用户已吊销应用程序的访问权限。
  • 刷新令牌已六个月未使用。
  • 用户更改了密码,刷新令牌包含Gmail范围。
  • 用户帐户已超过授予(活动)刷新令牌的最大数目。(当前每个Google帐户每个OAuth2.0客户端ID的刷新令牌限制为50个。如果达到这个限制,创建新的刷新令牌会自动使最早的刷新令牌无效,而不会发出警告。)
 类似资料:
  • 获取访问令牌的文档中的第一步是“将用户引导到我们的授权URL”。那到底是什么意思?没有提供链接或任何东西。它还说“公司名称、联系电子邮件和隐私政策URL是开始提交的必要条件。”我们的应用程序没有隐私政策...只是一个简单的标签提要。我不明白为什么有一个简单的标签提要那么复杂。 是否有一个等待时间来获得批准的应用程序..如果它得到批准...在获得访问令牌之前,我必须获得批准吗?这在任何地方都没有概述

  • 本文向大家介绍使用curl通过代码授权获取Dropbox API的OAuth 2访问令牌,包括了使用curl通过代码授权获取Dropbox API的OAuth 2访问令牌的使用技巧和注意事项,需要的朋友参考一下 示例 缩写自https://blogs.dropbox.com/developers/2013/07/using-oauth-2-0-with-the-core-api/: 步骤1:开始授

  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • 我正在按照本教程从我的“发现周刊”播放列表中获取曲目列表。本教程提到,在请求播放列表信息之前,我需要为自己的帐户获取OAuth令牌。这是通过转到随机的控制台页面并单击页面末尾的“获取令牌”来完成的(这需要我登录我的Spotify帐户并批准控制台访问我的帐户数据)。 然而,我想以编程方式获取此令牌,而不是每次需要此令牌时手动单击“获取令牌”并登录到我的帐户。我拥有的是: > 我的Spotify用户I

  • 我的问题是如何使用OAuth2.0从刷新令牌中获取访问令牌。我还没有找到任何从刷新令牌中获取访问令牌的例子。 我参考了[Google+API参考],但他们使用HTTP方法提到了它。2请用C#提供一些使用Google+API提供的方法的例子。

  • az登录--service-principal-u-p--租户--允许-不订阅 az帐户获取-访问-令牌-资源 现在,当我试图通过用户登录(az登录)切换服务主体登录来为用户实现相同的功能时 有人能帮我理解为什么会这样吗? 提前感谢!