Yahoo OAuth错误401消费者密钥未知

时间:2014-08-06 17:27:47

标签: ios objective-c oauth request yahoo

我试图通过向以下URL发出POST请求来从Yahoo获取请求令牌: https://api.login.yahoo.com/oauth/v2/get_request_token

我以下列方式提出请求:

int randomNumber = rand();

NSDictionary *parameters = @{@"oauth_consumer_key": YahooConsumerKey,
                             @"oauth_signature_method": @"plaintext",
                             @"oauth_signature": YahooConsumerSecret,
                             @"oauth_version": @"1.0",
                             @"xoauth_lang_pref": @"en_us",
                             @"oauth_callback": @"oob",
                             @"oauth_timestamp": [self getTimeStamp],
                             @"oauth_nonce": [NSString stringWithFormat:@"%d", randomNumber]};

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

[manager POST:@"https://api.login.yahoo.com/oauth/v2/get_request_token" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

问题是我不断收到错误401,并说明消费者密钥未知。我已经粘贴了我创建项目的消费者密钥,所以我真的不知道我做错了什么。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您的要求看起来不错。尝试将@"%26"附加到YahooConsumerSecret字符串。这是你的请求link和修复,它似乎正在运作!

使用plaintext作为oauth_signature_method时,您需要根据Yahoo文档在%26的末尾添加oauth_signature

相关问题