在桌面应用中保留Google API授权

时间:2015-01-28 13:49:53

标签: java google-oauth google-api-java-client

从桌面应用程序连接到Google服务时,用户需要输入提供给他的访问代码以生成accessToken。 我无法理解如何正确保存并恢复到GoogleCredential,因此用户无需在每次发布时授权我的应用。

有人可以向我提供此流程的代码段或比Google提供的更详细的说明吗?

1 个答案:

答案 0 :(得分:0)

  • 首先,您必须将项目注册到Google Developer控制台。从控制台,您将获得一些凭据,如:cliend id,客户机密。
  • 现在,当您想要授权您的应用程序时,您需要获取访问令牌。但在你必须获得“授权令牌”之前。为此你需要使用这样的网址

    https://accounts.google.com/o/oauth2/auth?
    redirect_uri=yourredirectpage&
    response_type=code&
    client_id=1070885696038-32m83k9ties5m7qsi4g6v8dfo28f2r9g.apps.googleusercontent.com&
    scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar&
    approval_prompt=force&access_type=offline
    

此请求的响应包含授权令牌。现在,您可以使用其他请求交换访问令牌的授权令牌:

https://accounts.google.com/o/oauth2/token?
code=4/oIdtdqPBW67CTSpijkm_fbwCqMjF_WJPiSmvsq8zScA.Ilw2ePhp3fQeoiIBeO6P2m_Usz4vlgI&
client_id=1070885696038-32m83k9ties5m7qsi4g6v8dfo28f2r9g.apps.googleusercontent.com&
client_secret={your_client_secret}&
redirect_uri=yourredirectpage&
grant_type=authorization_code

其中“code”是authorization_token。

有关详情,请查看:Google Api OAuth