如何使用我自己开发的OAUTH 2 Framework for Web应用程序使用Google Drive Client Library for Java?

时间:2013-04-13 10:38:40

标签: java oauth-2.0 google-drive-api google-oauth

我的网络应用程序已经使用REST和/或signpost-oauth库成功地与Facebook,LinkedIn,Google等进行了OAUTh身份验证。

因此,一旦我使用我的网络应用程序从GoogleAPIs服务器获得ACCES_TOKEN,我就想使用Google Drive Client访问文件等。

这是谷歌云端硬盘的例子,但它依赖于使用谷歌授权代码流(我无法理解它与我的Java EE网络应用程序一起使用)

 // authorization
 Credential credential = authorize();
 // set up the global Drive instance
 drive = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
     .setApplicationName(APPLICATION_NAME).build();

如何更改此项以使用ACCESS_TOKEN和我已通过我的Web应用程序的OAUTH框架获得的其他凭据?

1 个答案:

答案 0 :(得分:7)

如果您已拥有访问令牌,则可以执行以下操作:

Credential credential = new GoogleCredential().setAccessToken(yourAccessToken);

如果您有一个访问令牌和刷新令牌,因为您可以从客户端库中获得自动令牌刷新,那么 更好

Credential credential = new GoogleCredential.Builder()
    .setClientSecrets(CLIENT_ID, CLIENT_SECRET)
    .setJsonFactory(JSON_FACTORY)
    .setTransport(HTTP_TRANSPORT)
    .build()
    .setAccessToken(yourAccessToken)
    .setRefreshToken(yourRefreshToken);

另请查看GoogleCredential Javadoc以获取更多示例。