1

我正在尝试使用 NSURLConnection 从 twitter 获取推文,并且我一直在达到每小时的最大请求数(150)。我切换到使用经过身份验证的获取推文的方式,如下所示,但仍然达到最大 API 调用 - 150。我如何能够在每台设备上发出超过 150 个推特请求?

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) 
                 }];
4

1 回答 1

0

试试看这个帖子

解决方案

您的推特应用程序中的问题,默认情况下有限制

于 2012-07-05T00:22:22.887 回答