我正在编写一个访问 Adwords API 的独立应用程序。oauth2 身份验证和授权工作正常。
我的问题是我想将 refreshtoken 保存在文本文件中,并在下次运行应用程序时直接使用它来恢复我的凭据。refreshtoken 应该有效期为 14 天,因此恢复访问凭据会非常好。
我还没有找到一个有效的例子。有人可以帮忙吗?
我正在编写一个访问 Adwords API 的独立应用程序。oauth2 身份验证和授权工作正常。
我的问题是我想将 refreshtoken 保存在文本文件中,并在下次运行应用程序时直接使用它来恢复我的凭据。refreshtoken 应该有效期为 14 天,因此恢复访问凭据会非常好。
我还没有找到一个有效的例子。有人可以帮忙吗?
与refresh token
授权令牌没有太大区别。
OAuth2.0有几个流程可用于访问服务器。常见的(也是最节省的)流程是所谓的授权代码流程(详细信息在这里)。
在那里,您的应用程序在用户第一次想要使用您的应用程序时向授权服务器询问。当用户登录并授予您的应用程序访问该服务的权限时,authorization code
用户将通过网站获得该信息。authorization code
您的应用程序将此代码发送到授权服务器以获取第一个access token
(以及它refresh token
)。它是您需要发送到的同一refresh token
台服务器。
现在,在您的情况下,我不确切知道服务器的 uri 是什么,但这将是您可以发送服务器的POST请求的示例:
POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID_HERE&
client_secret=YOUR_CLIENT_SECRET_HERE&
refresh_token=THE_REFRESH_TOKEN_HERE&
grant_type=refresh_token
如果请求有效,服务器将响应一个新的Access Token
. 在这里,您可以找到有关您可以提出的特定请求的更多信息。
请记住,每个令牌(访问令牌和刷新令牌)都必须保存。最好的方法是将其加密保存,并且在发送令牌时仅使用POST请求和https。但这不是你的问题。
我希望我能帮助你。