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 は依然として認証データが正しくありません。