0

XcodeでObjective-Cを使用してコーディングし、twitter API(ACAccountStoreおよびSLRequest)を使用しています。

Twitter でフォロワーのリストを取得しようとしていますが、それを「postRequest」のネストされたブロックに入れました。2 番目の投稿リクエストは常に「不正な認証データ」になります。誰でもこの問題で私を助けることができますか?

- (void) getFollowerList:(void (^)(NSDictionary *, NSError *))block withAccountName:(NSString *) accountName
{
    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 *requestURL = [NSURL URLWithString:@"https://api.twitter.com/1.1/friends/ids.json"];


                 NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
                 [parameters setObject:accountName forKey:@"screen_name"];



                 SLRequest *postRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter
                                                             requestMethod:SLRequestMethodGET
                                                                       URL:requestURL
                                                                parameters:parameters];

                 postRequest.account = twitterAccount;


                 [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse
                                                          *urlResponse, NSError *error)
                  {
                      if (responseData) {
                          if (error) {
                              NSLog(@"%@",error);
                              block(nil,error);
                          }
                          else{

                              NSDictionary *temp = [NSJSONSerialization JSONObjectWithData:responseData
                                                                                   options:NSJSONReadingMutableContainers
                                                                                     error:&error];

                              NSLog(@"%@",temp);


                              NSArray *accountArray = temp[@"ids"];


                               NSLog(@"%@",accountArray);

                               NSURL *requestURL = [NSURL URLWithString:@"https://api.twitter.com/1.1/users/lookup.json"];

                               NSMutableDictionary *parameters =[[NSMutableDictionary alloc] init];
                               [parameters setObject:accountArray forKey:@"screen_name"];

                               SLRequest *postRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter
                                                                           requestMethod:SLRequestMethodGET
                                                                                     URL:requestURL
                                                                              parameters:parameters];

                               [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
                               {
                                   if (responseData)
                                   {
                                       if (error) {
                                           NSLog(@"%@",error);
                                           block(nil,error);
                                       }
                                       else{
                                           NSDictionary *temp = [NSJSONSerialization JSONObjectWithData:responseData
                                                                                            options:NSJSONReadingMutableContainers
                                                                                              error:&error];
                                           NSLog(@"%@",temp);

                                       }
                                }
                                }];
                          }
                      }


                  }];



             }
         }else {
             NSLog(@"account access not granted");
         }

     }];

}

*リクエストを2倍にしようとしても、最初に「友達/ ID」、次に「友達/ ID」。2 番目の友人/ID は依然として認証データが正しくありません。

4

0 に答える 0