So.. I'm using OAuthConsumer, and I've already written code in the past to successfully POST requests to foursquare to get tokens and to check in. I'm using the same code to now integrate with twitter and am running into issues. I can successfully get a token, but when I make signed POST requests I end up with an error.
I changed the value for my key and token below for security reasons in making this post: 2010-08-23 12:23:06.865 App[18006:207] signature base string: POST&http %3A%2F%2Fapi.twitter.com%2F1%2Fstatuses%2Fupdate.xml&lat %3D40.4283%26long%3D-79.9717%26oauth_consumer_key %3DN24e2mycZtstsHiW0zuYg%26oauth_nonce %3D09220CB8-29BB-4C70-9A58-470323D1AD1C%26oauth_signature_method %3DHMAC-SHA1%26oauth_timestamp%3D1282580586%26oauth_token%3D20594114- P49fHNYzANBUuHjfTELKUBrNi5lsdgCygJzlw2dBo%26oauth_version %3D1.0%26status%3Dtest 2010-08-23 12:23:06.865 Beerby[18006:207] oauth header: OAuth realm="", oauth_consumer_key="N24e1my4ZtstgHiW0z2Yg", oauth_token="20594114-P49fHNYzANBUuHjfTELKUBrNi5lsdgCygJzlw2dBo", oauth_signature_method="HMAC-SHA1", oauth_signature="XxBW54PfcqsePoe6c %2BnYupz8UE4%3D", oauth_timestamp="1282580586", oauth_nonce="09220CB8-29BB-4C70-9A58-470323D1AD1C", oauth_version="1.0" 2010-08-23 12:23:16.006 Beerby[18006:207] statusRequest error:Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0xec06ec0 {NSErrorFailingURLKey=http://api.twitter.com/1/statuses/update.xml, NSErrorFailingURLStringKey=http://api.twitter.com/1/statuses/ update.xml, NSUnderlyingError=0xec036a0 "The operation couldn’t be completed. Here's the code I'm using when making my request OAMutableURLRequest *request; OADataFetcher *fetcher; NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/ statuses/update.xml"]; //NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/ users/lookup.xml"]; request = [[[OAMutableURLRequest alloc] initWithURL:url consumer:self.consumer token:self.accessToken realm:nil signatureProvider:nil] autorelease]; [request setHTTPMethod:@"POST"]; NSString *s = [NSString stringWithString:@"test"]; NSString *status = [s precomposedStringWithCanonicalMapping]; NSLog(@"twitter status %@", status); OARequestParameter *x1 = [[OARequestParameter alloc] initWithName:@"status" value:status]; OARequestParameter *x2 = [[OARequestParameter alloc] initWithName:@"lat" value:[NSString stringWithFormat:@"%g",geolat]]; OARequestParameter *x3 = [[OARequestParameter alloc] initWithName:@"long" value:[NSString stringWithFormat:@"%g",geolong]]; NSArray *params = [NSArray arrayWithObjects:x1,x2,x3,nil]; [request setParameters:params]; fetcher = [[[OADataFetcher alloc] init] autorelease]; [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; [fetcher fetchDataWithRequest:request delegate:self didFinishSelector:@selector(statusRequest:didFinishWithData:) didFailSelector:@selector(statusRequest:didFailWithError:)]; [x1 release]; [x2 release]; [x3 release]; For further information, I can successfully send signed GET requests. Also, for methods that can use GET or POST, GET works just fine, but POST throws the same old error. Any help would be greatly appreciated.