2010-05-18 43 views
0

如何將twitpic API與OAuth集成以發佈iPhone上的圖像?任何幫助或教程?目前我正在做...爲iPhone集成twitpic 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]; 
+0

接受的答案,如果它解決您的問題。 :) – 2011-07-07 22:43:27

回答

0

看看OAuthConsumer庫。

如果您決定使用它,您必須將其編譯爲靜態庫或僅包含標頭(有關說明,請參閱here)。