我的网络应用程序已经使用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框架获得的其他凭据?
答案 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以获取更多示例。