OAuth -Неверный токен :Токен запроса используется, когда это не разрешено

Я пытаюсь получить доступ к Google Documents List API 3.0 с помощью OAuth 2.0, но у меня возникают проблемы с ошибкой 401.

После того, как пользователь принял, мой код выглядит следующим образом:

GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CLIENT_ID);
oauthParameters.setOAuthConsumerSecret(CLIENT_SECRET);
oauthParameters.setOAuthToken(token);
oauthParameters.setOAuthTokenSecret(tokenSecret);
oauthParameters.setScope("https://docs.google.com/feeds/");

service = new DocsService("myapp");
service.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());

DocumentListFeed feed = service.getFeed(new URL("https://docs.google.com/feeds/default/private/full/?v=3"), DocumentListFeed.class);

Затем, в последней строке -getFeed ()-выдает исключение:

com.google.gdata.util.AuthenticationException: Token invalid - Invalid token: Request token used when not allowed.
<HTML>
<HEAD>
<TITLE>Token invalid - Invalid token: Request token used when not allowed.</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Token invalid - Invalid token: Request token used when not allowed.</H1>
<H2>Error 401</H2>
</BODY>
</HTML>

Что происходит? На статическом основном тестовом классе работает как шарм, но когда я запускаю его на сервере, эта строка больше не работает. Любая идея?


РЕШЕНО

Токен доступа необходимо получить таким образом, с помощью GoogleOAuthHelper, а не напрямую с параметрами GoogleOAuth:

String accessToken = oauthHelper.getAccessToken(oauthParameters);
5
задан xuso 20 April 2012 в 12:14
поделиться