Objective c iOS、oauth_nonce&;发送post请求?

Objective c iOS、oauth_nonce&;发送post请求?,objective-c,ios,post,twitter,twitter-oauth,Objective C,Ios,Post,Twitter,Twitter Oauth,我试图让reverse_oauth在iPhone应用程序上工作,但是我遇到了一些关于POST请求和我实际应该发送什么值的问题,所以我的问题是双重的 我正试图遵循twitter在这里发布的指南: 第一个问题涉及oauth_nonce,或者更确切地说,我如何获得要发送的值? 我得到oauth_nonce是一个由HMAC-SHA1算法散列的随机生成的字符串,但是我是否应该生成一个随机字符串,每次我想要发出请求时都进行散列? 或者它是一个应该基于某些内容进行散列的值 我的POST请求当前如下所示: NS

我试图让reverse_oauth在iPhone应用程序上工作,但是我遇到了一些关于POST请求和我实际应该发送什么值的问题,所以我的问题是双重的

我正试图遵循twitter在这里发布的指南:

第一个问题涉及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);

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

Joakim,我建议你看看这个例子


肖恩是一名推特员工,我对这段代码没有任何问题。消除了很多麻烦,并且很好地处理了错误。

为什么不使用iOS原生Twitter.framework?我很想使用它,但我需要使用反向oauth来获取访问令牌,以便我可以验证服务器上的用户。我正在用twitter建立一个登录名。由于我想使用本机twitter凭据,我需要使用reverse oauth从本机iOS twitter帐户获取访问令牌。如果您查看第一段中解释它的链接。这是迄今为止最好的答案,而且似乎效果很好,只是实现了它。