Ошибка 32 из запроса Twitter с использованием SLRequest с параметрами
Я пытаюсь сделать запрос в Твиттере, используя SLRequest, но всякий раз, когда я включаю параметры в запрос, я получаю ответ: {"errors":[{"message":"Could not authenticate you","code":32}]}
, Если я не включаю параметры, запрос работает как положено.
Я попытался включить параметры в виде строки запроса в URL, но это не имело никакого значения.
Вот мой код:
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *twitterAccounts = [accountStore accountsWithAccountType:accountType];
if (twitterAccounts.count == 0) {
NSLog(@"There are no Twitter accounts configured. You can add or create a Twitter account in Settings.");
}
else {
ACAccount *twitterAccount = [twitterAccounts firstObject];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:[NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/home_timeline.json"] parameters:@{@"count": @10}];
request.account = twitterAccount;
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"%@", responseString);
}];
}
}
}];
1 ответ
Решение
Похоже, вы не можете передать @10 как целое число - попробуйте вместо этого передать его в виде строки: @"10".
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET
URL:[NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/home_timeline.json"]
parameters:@{@"count": @"10"}];
// ^
Вот документ из Твиттера с примером