3

ОК ... так вот мой код:MGTwitterEngine и OAuth 401 ошибка: поражали

twitterEngine = [[MGTwitterEngine alloc] initWithDelegate:self];  
    [twitterEngine setConsumerKey:CONSUMER_KEY secret:CONSUMER_SECRET]; 
    accessToken = [twitterEngine getXAuthAccessTokenForUsername:profile.twitterUserId password:profile.twitterPassword]; 
    NSLog(@"Access token: %@", accessToken); 

консоль показывает маркер доступа вернулся нормально (так, кажется, работает) например. Маркер доступа: C8A24515-0F11-4B5A-8813-XXXXXXXXXXXXXX

но вместо accessTokenReceived метод вызывается рядом с моим делегатом, он вызывает requestFailed с 401. Как я могу получать 401 несанкционированную и получить маркер доступа обратно из вызов метода ?????

ответ

0

Обнаружил проблему ... для тех, у кого есть эта проблема ... Получение одобрения вашего приложения для OAuth является лишь частью процесса. Хотя похоже, что вы закончили, а страница twitter дает вам свой ключ и секрет ... есть один не совсем-то-простой, чтобы найти следующий шаг. Вы должны отправить электронное письмо на [email protected] и попросить их включить его.

Это было весело, выясняя. :)

2

xAuth - процесс обмена логином и паролем для токена доступа - это привилегия для приложений, которые достоверно соответствуют критериям Twitter: настольные или мобильные приложения, которые в противном случае не могут обеспечить весь трехсторонний поток OAuth. Внеполосные OAuth и пользовательские схемы URI по-прежнему предпочтительнее, чем xAuth.

Если вы исчерпали другие реализации OAuth и хотите использовать xAuth, вы можете связаться с Twitter через [email protected] с адреса электронной почты, непосредственно связанного с учетной записью, владеющей приложением. Включите полную информацию о своем приложении, его базе пользователей, ссылки на его скриншоты в действии и подробное описание того, почему эта форма авторизации подходит для вашего приложения. Запросы на xAuth рассматриваются в каждом конкретном случае и не будут предоставляться всем заявителям.

Разработчики xAuth не должны хранить логины и пароли в своих приложениях - это не замена для базового auth или способ избежать реализации аутентификации OAuth.