保存Twitter ACAccount时为什么会出现此错误?
我正在尝试将Twitter帐户保存到ACAccountStore
。
我正在使用MPOauth
对用户进行身份validation(这可以完美地运行,我可以对消息进行身份validation和发布),当我收到访问令牌和访问令牌秘密时,我会继续保存帐户。
首先,我将令牌访问权限仅用于获取令牌本身,而不是用户ID。 在那之后,这是我的代码
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.)"
我读到这会对在Twitter上validation数据的错误做出响应,这是在保存帐户之前由iOS5框架完成的。
我已经在Twitter上阅读了这个回复和post。
哪里不对?
如果令牌是OAToken,你应该替换它
ACAccountCredential *credentials = [[ACAccountCredential alloc] initWithOAuthToken:token tokenSecret:token];
有了这个
ACAccountCredential *outhCredential = [[ACAccountCredential alloc] initWithOAuthToken:token.key tokenSecret:token.secret];
你应该分别传递key&secret作为第一个和第二个参数。