Tener problemas para subir fotos a TwitPic usando OAuth en Objective C en el iPhone
He estado trabajando en una aplicación para iPhone que tiene la función de subir fotos a TwitPic. Lo tengo trabajando con autenticación básica.
Estoy tratando de que funcione con OAuth. Recibo errores de autenticación. He estudiado con mucho cuidado la documentación de TwitPic.
Estoy autorizando la aplicación mostrando una vista web de UI y devuelve un valor PIN. Ingreso el valor PIN en la aplicación y solicito el token.
Puedo subir actualizaciones de estado a Twitter pero no fotos.
Mi código se basa en un código de ejemplo de aquí:
Ejemplo de aplicación para iPhone usando OAuth
Aquí está mi 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];
Aquí está el encabezado de 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"