iosobjective-ctwitterparse-platform

Twitter iOS GET statuses/home_timeline using Parse


This will be my first iPhone app and I am running into difficulties that I thought I'd be able to find a tutorial on, but alas.... nothing on the inter webs that I can find.

I'm trying to get an initial 20 or so tweets from a signed in user (signed in using Parse's Twitter authentication) and I can't seem to get it to work. I put a breakpoint in when I get an error and this is what it shows:

error message

I'm contemplating abandoning Parse all together and doing my own authentication using https://github.com/nst/STTwitter but wanted to quickly see if there was a way to simply do what I am trying to. The code is question is at this github: https://github.com/johndangerstorey/twiz and outlined below as found in my MyLoginViewController.m file:

NSString *bodyString = [NSString stringWithFormat:@"https://api.twitter.com/1.1/statuses/home_timeline.json?screen_name=johnDANGRstorey"];

// Explicitly percent-escape the '!' character.
bodyString = [bodyString stringByReplacingOccurrencesOfString:@"!" withString:@"%21"];

NSURL *url = [NSURL URLWithString:bodyString];
NSMutableURLRequest *tweetRequest = [NSMutableURLRequest requestWithURL:url];
tweetRequest.HTTPMethod = @"GET";
tweetRequest.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

[[PFTwitterUtils twitter] signRequest:tweetRequest];

NSURLResponse *response = nil;
NSError *error = nil;

// Post status synchronously.
NSData *data = [NSURLConnection sendSynchronousRequest:tweetRequest
                                     returningResponse:&response
                                                 error:&error];

// Handle response.
if (!error) {
    NSLog(@"Response: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
} else {
    NSLog(@"Error: %@", error);
}

Solution

  • I figured it out, GET requests don't require .body or .method requests so I just removed tweetRequest.HTTPMethod = @"GET"; tweetRequest.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding]; and was golden.