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

use*_*116 2 java oauth-2.0 google-drive-api google-oauth

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

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

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

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

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

Nic*_*ier 7

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

Credential credential = new GoogleCredential().setAccessToken(yourAccessToken);
Run Code Online (Sandbox Code Playgroud)

如果你有一个访问令牌和刷新令牌,这是很多更好,因为你可以从客户端库自动刷新令牌,你应该这样做:

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

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