Не удается получить токен запроса для интеграции 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 ответа
- Убедитесь, что ваше приложение на Yahoo зарегистрировано как веб-приложение. При регистрации в качестве веб-приложения укажите действительный URL-адрес приложения и домен приложения по вашему выбору (оба должны быть одним и тем же доменом), но никто не использовал их. У меня, например, есть URL-адрес моего веб-сайта. Это также будет использоваться в качестве URL обратного вызова у вашего потребителя.
- Вместо вызова "MyApp://oauth" укажите действительный URL-адрес обратного вызова http (тот же, который вы использовали для регистрации приложения). При этом ваш код выше должен работать.
- Откройте новое веб-представление и вызовите authUrl. Как только ваше приложение будет авторизовано, перехватите вызов к URL вашего приложения, переопределив метод "onPageStarted". Там сделайте обратный вызов для вашего приложения, запустив новое намерение, указывающее на "MyApp://oauth".
Пожалуйста, дайте мне знать, если какой-либо из вышеперечисленных шагов смущает вас - я более чем рад помочь.
Я следовал вышеупомянутым 3# поитам и смог перезвонить приложению. Вся проблема началась с процесса YAHOO OAUTH. Теперь Yahoo не принимает URL-адреса пользовательских звонков, это должен быть действительный http-URL. У меня есть пара проблем, которые я решаю самостоятельно, например, наличие диалогового окна CUSTOMi, которое можно использовать для вызова URL-адреса аутентификации веб-просмотра YAHOO, похожего на диалог FB.
Спасибо за