2014-01-22 6 views
0

Я недавно начал проект Xcode, и он требует, чтобы я получал фид или временную шкалу из учетной записи Twitter. Я следую this tutorial. Хотя, когда я компилирую свой код, у него нет ошибок, он не записывает никаких твитов. Я также загрузил исходный код для проекта, но он все равно ничего не возвращает. Я понимаю, что это может быть проблемой из моей учетной записи, но я недавно что-то написал в твиттере, последовал за некоторыми людьми, переработал, в основном все, что вы могли сделать, чтобы обновить временную шкалу! Спасибо за помощь! Twitter счета: @PushahkУчетная запись Twitter всегда возвращает пустую временную шкалу?

-(void)getTwitterFeed{ 
ACAccountStore *account = [[ACAccountStore alloc] init]; 
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; 
[account requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error){ 
    if (granted == YES) { 
     NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType]; 
     if ([arrayOfAccounts count] > 0) { 
      ACAccount *twitterAccount = [arrayOfAccounts lastObject]; 
      NSURL *requestAPI = [NSURL URLWithString:@"http://api.twitter.com/1.1/statuses/user_timeline.json"]; 
      NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init]; 
      [parameters setObject:@"100" forKey:@"count"]; 
      [parameters setObject:@"1" forKey:@"include_entities"]; 
      SLRequest *posts = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:requestAPI parameters:parameters]; 
      posts.account = twitterAccount; 
      [posts performRequestWithHandler: 
      ^(NSData *response, NSHTTPURLResponse 
               *urlResponse, NSError *error) 
      { 

       // The NSJSONSerialization class is then used to parse the data returned and assign it to our array. 

       self.TwitterPosts = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]; 

        dispatch_async(dispatch_get_main_queue(), ^{ 
         NSLog(@"Hi"); 
         for (int i = 0; i < [self.TwitterPosts count]; i++) { 
          NSLog(@"%@", [self.TwitterPosts objectAtIndex:i]); 
          NSLog(@"Hi"); 
         } 

        }); 


      }]; 
     } 
    } 
    else{ 
     NSLog(@"%@", [error localizedDescription]); 
    } 
}]; 

} 
+0

Проходите в объекте ошибок в 'JSONObjectWithData', делает это содержит ничего после этого? Вы также можете собрать «NSString» из ответа «NSData», чтобы узнать, что он содержит, это может предоставить дополнительную информацию. Этот код должен быть более чувствительным к ошибкам, на данный момент он предполагает, что все будет правильно. – WDUK

+0

Это также может быть связано с тем, что 'include_entities' больше не является допустимым параметром в API v1.1 (он был в API v1). Вам также может потребоваться указать имя экрана, так как я полагаю, что свойство '.account' в запросе предназначено только для целей OAuth. Источник: https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline – WDUK

+0

@WDUK, это было фактически второе! Благодаря! Если вы опубликуете ответ, я буду считать его правильным! – chandhooguy

ответ

1

Это не потому, что include_entities больше не является допустимым параметром в v1.1 API (это было в v1 API). Вам также может потребоваться указать имя экрана, так как я полагаю, что свойство .account в запросе предназначено только для целей OAuth.

Источник: http://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

Смежные вопросы