0

SLRequest を使用して Twitter リクエストを作成しようとしていますが、リクエストにパラメーターを含めるたびに、返される応答は{"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);
            }];
        }
    }
}];
4

1 に答える 1

0

@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"}];
                                            // ^

例を含むTwitter ドキュメントを次に示します。

于 2014-06-12T16:02:41.590 に答える