Yahoo OAuth на Android - ошибка 401 - PullRequest
3 голосов
/ 20 августа 2011

Я пытаюсь реализовать OAuth для Google, Twitter, Yahoo и т. Д. На Android, используя библиотеки указателей.

Все вышеперечисленное работает нормально, кроме Yahoo, которая выдает ошибку 401 при попытке получить токен запроса.Я попытался изменить свой URL обратного вызова на http, и даже попытался вне проверки подлинности.

Кто-нибудь имеет представление о том, что я могу делать неправильно?

Мой код, который запрашивает токен запроса OAuth с использованием библиотек Signpost, приведен ниже.

private static CommonsHttpOAuthConsumer yahooConsumer = new CommonsHttpOAuthConsumer(
        YAHOO_CONSUMER_KEY, YAHOO_CONSUMER_SECRET);
private static CommonsHttpOAuthProvider yahooProvider = new CommonsHttpOAuthProvider(
        YAHOO_REQUEST_URL, YAHOO_ACCESS_TOKEN_URL, YAHOO_AUTH_URL); 

и

String authURL = yahooProvider.retrieveRequestToken (yahooConsumer, YAHOO_REDIRECT_URL);startWebView (authURL);

РЕДАКТИРОВАТЬ:

Вот вывод из перехваченного исключения:

08-21 00: 18: 10.935: WARN/System.err(3752): oauth.signpost.exception.OAuthNotAuthorizedException: авторизация не удалась (сервер ответил 401).Это может произойти, если ключ потребителя был неверен или подписи не совпадали.08-21 00: 18: 10.945: WARN / System.err (3752): at oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse (AbstractOAuthProvider.java:239) 08-21 00: 18: 10.945: WARN / System.err (3752).1023 *

Спасибо,

Абхинав

Ответы [ 2 ]

4 голосов
/ 21 августа 2011

consumer_key_rejected означает, что вы не предоставили действительный consumer_key для Yahoo.Если вы предоставили Yahoo право consumer_key, вы можете проверить регистрацию своего приложения в Yahoo.Вероятно, вам нужно проверить хотя бы одну или несколько услуг, предоставляемых Yahoo.Не забудьте также выбрать тип вашего приложения, будь то веб-приложение или клиентское приложение.

Все это имеет смысл, поскольку Yahoo включила область разрешения в Ключ потребителя.Прочитайте это объяснение для получения дополнительной информации: Область OAuth Yahoo .

Это пример обходного пути и советы, которые могут быть полезны для решения вашей проблемы: Проблема Yahoo OAuth - ключ потребителя отклонен

Дайте мне знать, если это работает для вас.

0 голосов
/ 20 августа 2011

Попробуйте принудительно установить аутентификацию 1.0a с помощью Provider.setOAuth10a(true).

Также стоит проверить правильность даты, времени и часового пояса на вашем клиенте, иначе проверка подписи завершится неудачей.

...