не удается получить токен запроса для интеграции Yahoo в Android? - PullRequest
2 голосов
/ 05 августа 2011

Я пытаюсь интегрировать Yahoo в свое приложение.Я пытаюсь

private static final String YAHOO_CALLBACK_URI = "MyApp://oauth";
public static final String YAHOO_REQUEST_TOKEN_URL = "http://api.login.yahoo.com/oauth/request_token";//api.login.yahoo.com
public static final String YAHOO_ACCESS_TOKEN_URL = "http://api.login.yahoo.com/oauth/access_token";
public static final String YAHOO_AUTHORIZE_URL = "http://api.login.yahoo.com/authorize";


CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(YAHOO_CONSUMER_KEY, YAHOO_CONSUMER_SERECT_KEY);
    OAuthProvider provider = new CommonsHttpOAuthProvider(YAHOO_REQUEST_TOKEN_URL, YAHOO_ACCESS_TOKEN_URL, YAHOO_AUTHORIZE_URL);
    provider.setOAuth10a(true);
    try {
        String authUrl = provider.retrieveRequestToken(consumer, YAHOO_CALLBACK_URI);// Can I pass Null for callback url.
        System.out.println("AuthURL = " + authUrl);
    } catch (OAuthMessageSignerException e) {
        e.printStackTrace();
    } catch (OAuthNotAuthorizedException e) {
        e.printStackTrace();
    } catch (OAuthExpectationFailedException e) {
        e.printStackTrace();
    } catch (OAuthCommunicationException e) {
        e.printStackTrace();
    }

получить

oauth.signpost.exception.OAuthCommunicationException: сбой связи с поставщиком услуг: поставщик услуг ответил по ошибке: 404 (не найдено)

Почему мы не можем получить токен запроса.

Ответы [ 2 ]

3 голосов
/ 21 августа 2011
  1. Убедитесь, что ваше приложение на Yahoo зарегистрировано как веб-приложение.Когда вы регистрируетесь как веб-приложение, укажите действительный URL-адрес приложения и домен приложения по вашему выбору (оба должны быть одним и тем же доменом), но никто не использовал их.У меня, например, есть URL-адрес моего веб-сайта.Он также будет использоваться в качестве URL-адреса обратного вызова для вашего потребителя.
  2. Вместо вызова «MyApp: // oauth» укажите действительный URL-адрес обратного вызова http (тот же, который вы использовали для регистрации приложения).При этом ваш приведенный выше код должен работать.
  3. Откройте новое веб-представление и вызовите authUrl.Как только ваше приложение будет авторизовано, перехватите вызов вашего приложения, переопределив метод "onPageStarted".Там сделайте обратный вызов для вашего приложения, запустив новое намерение, указывающее на «MyApp: // oauth».

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

1 голос
/ 10 ноября 2011

Я следовал вышеупомянутым 3 # точкам и смог перезвонить приложению.Вся проблема началась с процесса YAHOO OAUTH.Теперь Yahoo не принимает URL-адреса пользовательских звонков, это должен быть действительный http-URL.У меня есть несколько проблем, которые я решаю самостоятельно, например, наличие диалогового окна CUSTOMi, которое можно использовать для вызова URL-адреса аутентификации YAHOO веб-представления, аналогичного диалогу FB.

Спасибо за

...