2017-04-27 106 views
0
Code snippets for Building OAuth 2.0 credentials : 
    Credential credential = new GoogleCredential.Builder().setTransport(httpTransport) 
         .setJsonFactory(jsonFactory) 
         .setClientSecrets(myAppClientID, myAppSecret) 
         .build(); 
    credential.setRefreshToken(userRefreshToken); 

我正在使用Java库来获取Google Analytics数据。Google OAuth 2.0 Java库如何处理访问令牌!如果提供客户端ID,秘密和刷新令牌。

我确实有客户端ID,秘密和刷新令牌。我正在访问谷歌分析API,虽然这个凭据信息, 我的问题是,Google OAuth 2.0会自动处理访问令牌吗?还是我需要用某种机制手动处理它?如果我没有将访问令牌传递给此代码。

+0

你是如何得到刷新令牌的? –

+0

@JánHalaša使用RESTFul服务呼叫。 –

+0

您是否试图运行代码?或用'setAccessToken()'替换'setRefreshCode()'?您应该已经拥有访问令牌 - 您可以在单个请求中获取所有令牌 - 访问令牌,刷新令牌和可能的ID令牌。 –

回答

0

Credential API doc

线程安全的OAuth 2.0帮手使用 访问令牌访问受保护的资源,以及可选期满后使用刷新令牌刷新访问令牌 。

因此,如果您不指定访问令牌,将使用刷新令牌自动获取它。但是由于您已经拥有访问令牌,所以我认为最好设置它 - 它会将第一个网络呼叫保存到/token端点。

+0

太棒了!在这种情况下,如果我不担心在终点'/ token'上调用命令,那么只传递刷新标记就没问题了......在下一阶段,我会优化这些代码。并会考虑通过访问令牌将是第一步。现在又一个查询是...是否有可能通过Java客户端库获取访问令牌?如果是,那么如何?谢谢你的方式。注意,回答和建议。 :) –

+0

我没有该库的经验,但可以尝试调用'credential.getAccessToken()'。 –

相关问题