iOS - OAuth Twitter enginer - Не удается создать токены - PullRequest
2 голосов
/ 28 декабря 2011

В моем приложении я пытаюсь интегрировать отправку сообщений в твиттер. (Я сгенерировал потребительский ключ и потребительский секрет в своем приложении для Twitter.
Я использую следующий код.

#pragma mark SA_OAuthTwitterEngineDelegate
- (void) storeCachedTwitterOAuthData: (NSString *) data forUsername: (NSString *) username {
    NSUserDefaults          *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject: data forKey: @"authData"];
    [defaults synchronize];
}

- (NSString *) cachedTwitterOAuthDataForUsername: (NSString *) username {
    return [[NSUserDefaults standardUserDefaults] objectForKey: @"authData"];
}

- (void) twitterOAuthConnectionFailedWithData: (NSData *) data
{
    NSLog(@"Failed");
}
//=============================================================================================================================
#pragma mark SA_OAuthTwitterControllerDelegate
- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {
    NSLog(@"Authenicated for %@", username);
}

- (void) OAuthTwitterControllerFailed: (SA_OAuthTwitterController *) controller {
    NSLog(@"Authentication Failed!");
}

- (void) OAuthTwitterControllerCanceled: (SA_OAuthTwitterController *) controller {
    NSLog(@"Authentication Canceled.");
}

Авторизация прошла успешно, но следующий метод делегата печатает пустое имя пользователя.

- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username

Вот ответ, который я получаю:

2011-12-29 00:01:57.965 OAuthTwitterDemo[4656:207] Failed
2011-12-29 00:01:57.966 OAuthTwitterDemo[4656:207] Authenicated for (null)

Может кто-нибудь подсказать мне, в чем ошибка в моем коде?

Ответы [ 3 ]

5 голосов
/ 19 января 2012

попробуйте заменить http на https в этой функции

- (SA_OAuthTwitterEngine *) initOAuthWithDelegate: (NSObject *) delegate {
if (self = (id) [super initWithDelegate: delegate]) {
        self.requestTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/request_token"];
        self.accessTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/access_token"];
        self.authorizeURL = [NSURL URLWithString: @"https://twitter.com/oauth/authorize"];
    }
return self;
}
0 голосов
/ 03 мая 2012

Да ..! У меня это работает :), URL с http будет работать без проблем в ios ios 4. *, но вам придется заменить на https для работы с Версия ios 5.1.

0 голосов
/ 19 января 2012

Проблема не в URL для запроса, авторизации и т. Д. В Twitter или iOS произошли изменения, которые вызывают проблемы.Для iOS 4, без каких-либо изменений в движке Twitter, его работа идеально.Но на iOS5 мы должны использовать твиттер фреймворк.Это решило мою проблему.

...