Java 硬编码访问令牌在google电子表格api中不起作用?

Java 硬编码访问令牌在google电子表格api中不起作用?,java,google-sheets,Java,Google Sheets,使用这个例子(),我现在能够使用OAuth1.0登录并使用Google电子表格api,因为他们有一个java示例 在这里,它获取访问令牌+密码,以及对电子表格服务的后续调用 但是如果我想在一天后回来,并使用相同的访问令牌+密码,那应该也可以,对吗 但是,如果我这样做,它会给我一个例外: com.google.gdata.util.AuthenticationException: Unknown authorization header 我错过了什么?我是否必须始终将用户重定向到该URL 我的J

使用这个例子(),我现在能够使用OAuth1.0登录并使用Google电子表格api,因为他们有一个java示例

在这里,它获取访问令牌+密码,以及对电子表格服务的后续调用

但是如果我想在一天后回来,并使用相同的访问令牌+密码,那应该也可以,对吗

但是,如果我这样做,它会给我一个例外:

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个小时,类似的情况。GoogleDriveDredit教程提供了执行刷新的大部分代码。更改DrEdit代码以获取新令牌并不难。。。。(另一方面,谷歌应用程序脚本也有一个电子表格API)

谢谢,本教程让我开始学习。如果没有一个好的工作示例,oauth舞蹈可能很难调试。