with studio developer iphone objective-c cocoa-touch twitter ios5

iphone - studio - Tratando de "seguir" a alguien en Twitter usando la nueva API de iOS 5, obteniendo un error de retorno de 406. ¿Por qué?



twitter login sdk ios (4)

Tratando de "seguir" a alguien en Twitter usando la nueva API de iOS 5, obteniendo un error de retorno de 406. ¿Por qué?

¿Mi código es correcto? Necesito saber por qué esto no funciona ...

- (void)followOnTwitter:(id)sender { ACAccountStore *accountStore = [[ACAccountStore alloc] init]; ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; [accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) { if(granted) { // Get the list of Twitter accounts. NSArray *accountsArray = [accountStore accountsWithAccountType:accountType]; // For the sake of brevity, we''ll assume there is only one Twitter account present. // You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present. if ([accountsArray count] > 0) { // Grab the initial Twitter account to tweet from. ACAccount *twitterAccount = [accountsArray objectAtIndex:0]; NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init]; [tempDict setValue:@"sortitapps" forKey:@"screen_name"]; [tempDict setValue:@"true" forKey:@"follow"]; TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"http://api.twitter.com/1/friendships/create.format"] parameters:tempDict requestMethod:TWRequestMethodPOST]; [postRequest setAccount:twitterAccount]; [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]]; NSLog(@"%@", output); }]; } } }]; }

Todo el código parece correcto. ¿Son los parámetros incorrectos? Es la URL correcta? Necesito alguna dirección aquí ...


Como Twitter ha actualizado su API a v1.1, la solicitud debe hacerse ahora utilizando la URL a continuación. Tenga en cuenta que la solicitud debe ser con ''https: //'' y, debido a API v1.1, reemplace su 1 a 1.1 en su URL.

https://api.twitter.com/1.1/friendships/create.json



Para iOS 6 twitter follow

ACAccountStore *accountStore = [[ACAccountStore alloc] init]; ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]; [accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) { if(granted) { // Get the list of Twitter accounts. NSArray *accountsArray = [accountStore accountsWithAccountType:accountType]; // For the sake of brevity, we''ll assume there is only one Twitter account present. // You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present. if ([accountsArray count] > 0) { // Grab the initial Twitter account to tweet from. ACAccount *twitterAccount = [accountsArray objectAtIndex:0]; NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init]; [tempDict setValue:@"MohammadMasudRa" forKey:@"screen_name"]; [tempDict setValue:@"true" forKey:@"follow"]; NSLog(@"*******tempDict %@*******",tempDict); //requestForServiceType SLRequest *postRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:[NSURL URLWithString:@"https://api.twitter.com/1/friendships/create.json"] parameters:tempDict]; [postRequest setAccount:twitterAccount]; [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { NSString *output = [NSString stringWithFormat:@"HTTP response status: %i Error %d", [urlResponse statusCode],error.code]; NSLog(@"%@error %@", output,error.description); }]; } } }];


puedes usar este código

- (BOOL)openTwitterClientForUserName:(NSString*)userName { NSArray *urls = [NSArray arrayWithObjects: @"twitter://user?screen_name={username}", // Twitter @"tweetbot:///user_profile/{username}", // TweetBot @"echofon:///user_timeline?{username}", // Echofon @"twit:///user?screen_name={username}", // Twittelator Pro @"x-seesmic://twitter_profile?twitter_screen_name={username}", // Seesmic @"x-birdfeed://user?screen_name={username}", // Birdfeed @"tweetings:///user?screen_name={username}", // Tweetings @"simplytweet:?link=http://twitter.com/{username}", // SimplyTweet @"icebird://user?screen_name={username}", // IceBird @"fluttr://user/{username}", // Fluttr /** uncomment if you don''t have a special handling for no registered twitter clients */ //@"http://twitter.com/{username}", // Web fallback, nil]; UIApplication *application = [UIApplication sharedApplication]; for (NSString *urlString in urls) { NSString *candidate = [urlString stringByReplacingOccurrencesOfString:@"{username}" withString:userName]; NSURL *url = [NSURL URLWithString:candidate]; if ([application canOpenURL:url]) { [application openURL:url]; return YES; } } return NO; }

https://gist.github.com/ChrisRicca/9144169