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.

Reply via email to