简体   繁体   中英

Objective-C Twitter API 150 Requests

I am trying to fetch tweets from twitter using an NSURLConnection, and I keep hitting the maximum number of requests per hour (150). I switched to using the authenticated way of fetching tweets, like below, but still hit the maximum API calls - 150. How am I able to make more than 150 twitter requests per device?

ACAccountStore *store = [[ACAccountStore alloc] init];
ACAccountType *twitterAccountType = 
[store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

//  Request permission from the user to access the available Twitter accounts
[store requestAccessToAccountsWithType:twitterAccountType 
                 withCompletionHandler:^(BOOL granted, NSError *error) {
                     if (!granted) {
                         // The user rejected your request 
                         NSLog(@"User rejected access to the account.");
                     } 
                     else {
                         // Grab the available accounts
                         NSArray *twitterAccounts = 
                         [store accountsWithAccountType:twitterAccountType];

                         if ([twitterAccounts count] > 0) {
                             // Use the first account for simplicity 
                             ACAccount *account = [twitterAccounts objectAtIndex:0];

                             // Now make an authenticated request to our endpoint
                             NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
                             [params setObject:@"1" forKey:@"include_entities"];

                             //  The endpoint that we wish to call
                             NSURL *url = 
                             [NSURL 
                              URLWithString:@"https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=%@&count=5",someTwitterUserName];

                             //  Build the request with our parameter 
                             TWRequest *request = 
                             [[TWRequest alloc] initWithURL:url 
                                                 parameters:params 
                                              requestMethod:TWRequestMethodGET];

                             // Attach the account object to this request
                             [request setAccount:account];

                             [request performRequestWithHandler:
                              ^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                                  if (!responseData) {
                                      // inspect the contents of error 
                                      NSLog(@"%@", error);
                                  } 
                                  else {
                                      NSError *jsonError;
                                      NSArray *timeline = 
                                      [NSJSONSerialization 
                                       JSONObjectWithData:responseData 
                                       options:NSJSONReadingMutableLeaves 
                                       error:&jsonError];            
                                      if (timeline) {                          
                                          // at this point, we have an object that we can parse and grab tweet information from
                                          NSLog(@"%@", timeline);
                                      } 
                                      else { 
                                          // inspect the contents of jsonError
                                          NSLog(@"%@", jsonError);
                                      }
                                  }
                              }];

                         } // if ([twitterAccounts count] > 0)
                     } // if (granted) 
                 }];

Try see at this post

solution

Problem in your twitter app, who have a limit at default

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM