0

iPhoneから画像を投稿するためにtwitpicAPIをOAuthと統合するにはどうすればよいですか?ヘルプやチュートリアルはありますか?現在やっています...

        NSURL *twitpicURL = [NSURL URLWithString:@"http://api.twitpic.com/2/upload.format"];
    theRequest = [NSMutableURLRequest requestWithURL:twitpicURL];
    [theRequest setHTTPMethod:@"POST"];

    // Set the params
    NSString *message = theMessage;

    [theRequest addValue:@"http://api.twitter.com/" forHTTPHeaderField:@"OAuth realm"];
    [theRequest addValue:TWITPIC_API_KEY forHTTPHeaderField:@"oauth_consumer_key"];
    [theRequest addValue:@"HMAC-SHA1" forHTTPHeaderField:@"oauth_signature_method"];
    [theRequest addValue:USER_OAUTH_TOKEN forHTTPHeaderField:@"oauth_token"];
    [theRequest addValue:USER_OAUTH_SECRET forHTTPHeaderField:@"oauth_secret"];
    [theRequest addValue: @"1272325550" forHTTPHeaderField:@"oauth_timestamp"];
    [theRequest addValue:nil forHTTPHeaderField:@"oauth_nonce"];
    [theRequest addValue:@"1.0" forHTTPHeaderField:@"oauth_version"];
    [theRequest addValue:nil forHTTPHeaderField:@"oauth_signature"];

    NSMutableData *postBody = [NSMutableData data];
    [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"source\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[[NSString stringWithFormat:@"lighttable"] dataUsingEncoding:NSUTF8StringEncoding]];

    // Message
    [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", message]dataUsingEncoding:NSUTF8StringEncoding]];

    // Media
    [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"media\"; filename=\"%@\"\r\n", @"doc_twitpic_image.jpg"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[[NSString stringWithFormat:@"Content-Type: image/jpg\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // data as JPEG

    [postBody appendData:[[NSString stringWithFormat:@"Content-Transfer-Encoding: binary\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[NSData dataWithData:image]];

    [theRequest setHTTPBody:postBody];
    [theRequest setValue:[NSString stringWithFormat:@"%d", [postBody length]] forHTTPHeaderField:@"Content-Length"];    
    theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
4

2 に答える 2

3

iPhone で GSTwitPicEngine を使用する:

http://github.com/Gurpartap/GSTwitPicEngine

于 2010-08-07T17:08:10.943 に答える
0

OAuthConsumerライブラリを見てください。

使用する場合は、静的ライブラリとしてコンパイルするか、単にヘッダーを含める必要があります (説明については、こちらを参照してください)。

于 2010-05-18T08:43:48.587 に答える