Problemas com o upload de fotos no TwitPic usando o OAuth no Objetivo C no iPhone
Estou trabalhando em um aplicativo para iPhone que tem o recurso de enviar fotos para o TwitPic. Eu tenho que trabalhar com autenticação básica.
Estou tentando fazê-lo funcionar com o OAuth. Estou recebendo erros de autenticação. Estudei com muito cuidado a documentação do TwitPic.
Estou autorizando o aplicativo exibindo uma Visualização da Web da interface do usuário e ela retorna um valor de PIN. Eu insiro o valor do PIN no aplicativo e solicito o token.
Consigo enviar atualizações de status para o Twitter, mas não fotos.
Meu código é baseado em algum código de exemplo daqui:
Exemplo de aplicativo para iPhone usando OAuth
Aqui está o meu código:
NSString *url = @"http://api.twitpic.com/2/upload.json";
NSString *oauth_header = [oAuth oAuthHeaderForMethod:@"POST" andUrl:url andParams:nil];
NSLog(@"OAuth header : %@\n\n", oauth_header);
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
[request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"];
request.requestMethod = @"POST";
[request addRequestHeader:@"X-Auth-Service-Provider" value:@"https://api.twitter.com/1/account/verify_credentials.json"];
[request addRequestHeader:@"X-Verify-Credentials-Authorization" value:oauth_header];
NSData *imageRepresentation = UIImageJPEGRepresentation(imageToUpload, 0.8);
[request setData:imageRepresentation forKey:@"media"];
[request setPostValue:@"Some Message" forKey:@"message"];
[request setPostValue:TWITPIC_API_KEY forKey:@"key"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request start];
Aqui está o cabeçalho do OAuth:
OAuth realm="http://api.twitter.com/", oauth_timestamp="1275492425", oauth_nonce="b686f20a18ba6763ac52b689b2ac0c421a9e4013", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="zNbW3Xi3MuS7i9cpz6fw", oauth_version="1.0", oauth_token="147275699-jmrjpwk3B6mO2FX2BCc9Ci9CRBbBKYW1bOni2MYs", oauth_signature="d17HImz6VgygZgbcp845CD2qNnI%3D"