Почему я получаю эту ошибку при сохранении Twitter ACAccount?
Я пытаюсь сохранить учетную запись Twitter в ACAccountStore
,
Я аутентифицирую пользователя с MPOauth
(это работает отлично, я могу аутентифицировать и опубликовать сообщение), и когда я получаю токен доступа и секрет токена доступа, я продолжаю сохранять учетную запись.
Прежде всего, я разделил доступ к токену для получения только самого токена, а не идентификатора пользователя. После этого это мой код
if ([username length] > 0 && [token length] > 0 && [secret length] > 0) {
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
ACAccount *account = [[ACAccount alloc] initWithAccountType:accountType];
ACAccountCredential *credentials = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:secret];
[account setCredential:credentials];
[account setUsername:username];
[accountStore saveAccount:account withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"the account was saved!");
} else {
NSLog(@"the account was NOT saved");
}
[accountStore release];
[account release];
[credentials release];
}];
}
Но никогда не работает, я понимаю
Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)"
Я читал, что это связано с ошибкой аутентификации данных в Твиттере, что делается в среде iOS5 перед сохранением учетной записи.
Я уже прочитал этот ответ и пост в Twitter.
Что случилось?
1 ответ
Если токен OAToken, вы должны заменить это
ACAccountCredential *credentials = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:token];
с этим
ACAccountCredential *outhCredential = [[ACAccountCredential alloc] initWithOAuthToken:token.key tokenSecret:token.secret];
Вы должны передать ключ и секрет в качестве 1-го и 2-го аргументов соответственно.