0

reverse_oauthをiPhoneアプリケーションで動作させようとしていますが、POSTリクエストと実際に送信する必要のある値に関していくつかの問題が発生したため、質問は2つあります。

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);

これはリクエストを送信する正しい方法ですか?そうでない場合はどのように表示されますか?

4

1 に答える 1

1

Joakim、この例を見てみることをお勧めします... https://github.com/seancook/TWReverseAuthExample

ショーンはTwitterの従業員であり、私はこのコードにまったく問題がありませんでした。多くの頭痛の種を取り除き、エラーをうまく処理します。

于 2012-10-17T10:14:16.090 に答える