iPhone следит за пользователем в твиттере программно
Я хочу подписаться на пользователя в твиттере по нажатию кнопки. Я использовал метод share kit Follow Me, используя oauth. Но всегда я получаю эту ошибку.
{"error": "Не удалось аутентифицироваться с помощью OAuth.","request":"/1/friendships/create/priyankav89.json"}
Тогда я попытался реализовать это сам
NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1/friendships/create.json"];
NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
[dict setObject:@"871252998" forKey:@"user_id"];
[dict setObject:@"true" forKey:@"follow"];
[dict setObject:@"KXL0jFLJY6RI4lszOz8r5w" forKey:@"consumer"];
NSString *jsonRepresentation=[dict JSONString];
NSLog(@"jsonRepresentation = %@",jsonRepresentation);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:3];
NSData *postData=[NSData dataWithBytes:jsonRepresentation.UTF8String length:[jsonRepresentation length]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSError *error=nil;
NSData *responseData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"respon = %s",responseData.bytes);
Тем не менее я получаю ту же ошибку.
Я много искал. Все еще бесполезно. Я не хочу загружать URL в UIWebView или в сафари. Я хочу поддержать приложение от ios4. Поэтому встроенное в твиттер приложение ios5 использовать нельзя.
2 ответа
Я нашел проблему. В методе share kit follow me они не вызывают метод авторизации перед тем, как следовать. Поэтому мы хотим вызвать авторизацию перед входом в систему и сохранить токен доступа.
Предполагая, что вы знаете, как твитить с помощью твиттера, интегрированного в iOS, вы можете просто написать "подписаться"