Twitter for iOS,oauth_nonce&发送邮件请求?

时间:2012-10-17 09:16:29

标签: objective-c ios post twitter twitter-oauth

我正在尝试使用reverse_oauth来处理iPhone应用程序,但是我遇到了一些关于POST请求的问题以及我实际应该发送的值,所以我的问题是双重的。

我正在尝试按照Twitter发布的指南:https://dev.twitter.com/docs/ios/using-reverse-auth

关于oauth_nonce的第一个问题,或者我如何获取要发送的值? 我得到oauth_nonce是一个由算法HMAC-SHA1散列的随机生成的字符串,但是我应该生成一个随机字符串,每次我想要发出请求时都会进行哈希处理吗? 或者它是应该基于某些东西进行散列的值?

我的POST请求目前看起来像这样:

NSString *twitterUrlToPing = @"https://api.twitter.com/oauth/request_token";

NSURL *twitterUrl = [NSURL URLWithString:twitterUrlToPing];

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:twitterUrl];
[req addValue:@"xxx" forHTTPHeaderField:@"oauth_consumer_key"];
[req addValue:@"xxx" forHTTPHeaderField:@"oauth_nonce"];
[req addValue:@"HMAC-SHA1" forHTTPHeaderField:@"oauth_signature_method"];
[req addValue:timeStampString forHTTPHeaderField:@"oauth_timestamp"];
[req addValue:@"1.0" forHTTPHeaderField:@"oauth_version"];
[req addValue:@"reverse_auth" forHTTPHeaderField:@"x_auth_mode"];

[req setHTTPMethod:@"POST"];

NSLog(@"twitterHeaderPostvalues: %@", [req allHTTPHeaderFields]);

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&err];
NSString *content = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

NSLog(@"contentResponseFromTwitter: %@", content);

这是发送请求的正确方法,如果不是,它应该是什么样子?

1 个答案:

答案 0 :(得分:1)

Joakim,我可以建议你看看这个例子...... https://github.com/seancook/TWReverseAuthExample

Sean是一名Twitter员工,我根本没有遇到任何麻烦。需要很多麻烦并很好地处理错误。