2013-04-13 52 views
2

我的web應用程序已經使用REST和/或signpost-oauth庫,成功地通過Facebook,LinkedIn,Google等進行OAUTh身份驗證。如何使用適用於Web應用程序的本地出版的OAUTH 2 Framework的Google Drive Client Library for Java?

所以一旦我已經從GoogleAPIs服務器使用我的web應用程序ACCES_TOKEN,我想使用谷歌驅動器客戶端來訪問文件等

這是谷歌驅動器的例子,但它依賴於使用谷歌授權碼流(這是我無法理解的不夠好,用我的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(); 

如何改變這種使用,我已經從我的web應用程序的OAuth框架獲得ACCESS_TOKEN和其他憑證?

回答

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更多的例子。

+0

我嘗試了很多3天來以其他方式創建憑證對象。但是這個工作正常。非常感謝@Nivco。 –

相關問題