2

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

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

这是 google Drive 示例,但它依赖于使用 Google 授权代码流(我不能很好地理解它与我的 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();

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

4

1 回答 1

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以获取更多示例。

于 2013-04-13T13:08:04.483 回答