Не удается получить токен запроса для интеграции Yahoo в Android?

Я пытаюсь интегрировать 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 ответа

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

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

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

Спасибо за

Другие вопросы по тегам