iOS-如何获得Twitter帐户访问权限?

我正在尝试使用twitter api并获得响应

{"errors":[{"message":"Bad Authentication data","code":215}]} 

我正在使用来自Twitter网站的代码我已经在模拟器中设置了Twitter帐户并且还尝试了设备(也通过注销和重新登录多次重试)但我无法获得访问权限

 [self.accountStore requestAccessToAccountsWithType:twitterAccountType options:NULL completion:^(BOOL granted, NSError *error) { if (granted) { // getting granted false ie I am not reaching here } } 

那么,我还需要做什么呢?任何评论,答案都表示赞赏。

要回答自己的问题,可能对其他人有帮助。

虽然我在Twitter网站上使用示例https://dev.twitter.com/docs/ios/making-api-requests-slrequest它除了ACAccountStore对象分配外它工作正常。

我只是在需要的地方重新分配ACAccountStore

 - (void)fetchTimelineForUser:(NSString *)username { ACAccountStore *accountStore=[[ACAccountStore alloc]init]; // Step 0: Check that the user has local Twitter accounts if ([self userHasAccessToTwitter]) { // Step 1: Obtain access to the user's Twitter accounts ACAccountType *twitterAccountType = [accountStore accountTypeWithAccountTypeIdentifier: ACAccountTypeIdentifierTwitter]; [accountStore requestAccessToAccountsWithType:twitterAccountType options:NULL completion:^(BOOL granted, NSError *error) { if (granted) { // Step 2: Create a request NSArray *twitterAccounts = [accountStore accountsWithAccountType:twitterAccountType]; NSURL *url = [NSURL URLWithString:@"https://api.twitter.com" @"/1.1/statuses/user_timeline.json"]; NSDictionary *params = @{@"screen_name" : username, @"include_rts" : @"0", @"trim_user" : @"1", @"count" : @"1"}; SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:url parameters:params]; // Attach an account to the request [request setAccount:[twitterAccounts lastObject]]; // Step 3: Execute the request [request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { if (responseData) { if (urlResponse.statusCode >= 200 && urlResponse.statusCode < 300) { NSError *jsonError; NSDictionary *timelineData = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:&jsonError]; if (timelineData) { NSLog(@"Timeline Response: %@\n", timelineData); } else { // Our JSON deserialization went awry NSLog(@"JSON Error: %@", [jsonError localizedDescription]); } } else { // The server did not respond successfully... were we rate-limited? NSLog(@"The response status code is %d", urlResponse.statusCode); } } }]; } else { // Access was not granted, or an error occurred NSLog(@"%@", [error localizedDescription]); } }]; } } 

我建议Parse.com更好,更轻松地实现Twitter和Facebook集成。 你可以用几行代码让它们和Parse完成剩下的工作。