2013-03-17 52 views
0

使用此示例(https://developers.google.com/google-apps/spreadsheets/#creating_a_spreadsheet),我可以使用oAuth 1.0登錄並使用Google電子表格api,因爲他們有一個java樣本。硬編碼訪問令牌在Google電子表格api中不起作用?

在這裏,它獲取訪問令牌+祕密,以及後續調用SpreadsheetService的工作。

但是,如果我想回來一天後,並使用相同的訪問令牌+祕密,應該工作以及對不對?

如果我這樣做,但是,它給了我一個例外:

com.google.gdata.util.AuthenticationException: Unknown authorization header 

我失去了什麼?我是否必須始終將用戶重定向到該URL?

我的Java代碼如下:

SPREADSHEET_FEED_URL = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"); 

    GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters(); 
    OAuthHmacSha1Signer signer = new OAuthHmacSha1Signer(); 
    GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(signer); 
    oauthParameters.setScope(SCOPES); 

    oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); // hardcoded variable 
    oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);// hardcoded variable 
    oauthParameters.setOAuthTokenSecret(OAUTH_ACCESS_SECRET);// hardcoded variable 
    oauthParameters.setOAuthToken(OAUTH_ACCESS_TOKEN);// hardcoded variable 
    service.setOAuthCredentials(oauthParameters,signer); 

    SpreadsheetFeed feed = service.getFeed(SPREADSHEET_FEED_URL, SpreadsheetFeed.class); 

我失去了什麼?

回答

1

使用刷新令牌獲取新的訪問令牌。訪問令牌不會持續很長時間,可能是1小時,就像那樣。谷歌驅動DrEdit教程有大部分刷新代碼。不難更改DrEdit代碼以獲取新令牌。 ....(另一方面,谷歌應用腳​​本也有一個電子表格API)

+0

謝謝,本教程讓我去。沒有一個好的工作例子,oauth舞蹈可能很難調試。 – 2013-03-28 10:19:57

相關問題