2009-04-17 8 views
1

Ceci est un peu bizarre ...API Twitpic de l'iPhone - image affichée mais aucune URL renvoyée?

Avec l'aide des gens d'ici, j'ai réussi à publier mon application iPhone sur TwitPic - et quand j'ai commencé à la faire fonctionner, je pouvais voir un résultat XML renvoyé aussi ...

mais pour une raison quelconque au cours des deux derniers jours, l'appel API semble réussir - la photo apparaît sur TwitPic - mais ... la réponse semble être vide ...

Quelqu'un a tout des idées? Vu quelque chose de similaire? Le code que j'utilise pour invoquer l'appel API est:

ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease]; 

[request setData:twitpicImage forKey:@"media"]; 
[request setPostValue:username forKey:@"username"]; 
[request setPostValue:password forKey:@"password"]; 

// Initiate the WebService request 
[request start]; 

// Need to find out how I can access the result from this call... 

/* Result structure should be: 

<?xml version="1.0" encoding="UTF-8"?> 
    <rsp stat="ok"> 
     <mediaid>abc123</mediaid> 
     <mediaurl>http://twitpic.com/abc123</mediaurl> 
    </rsp> 
*/ 

// Check for errors 
if ([[request responseHeaders] objectForKey:@"stat"] != @"ok"){ 
    UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"TwitPic Submission" 
                message:[[request responseHeaders] objectForKey:@"mediaurl"] 
                delegate:nil 
              cancelButtonTitle:@"OK!" 
              otherButtonTitles:nil]; 
    [errorAlert show]; 
    [errorAlert release]; 
} 

NSString *twitpicURL = [[request responseHeaders] objectForKey:@"mediaurl"]; 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"TwitPic Submission" 
             message:twitpicURL 
             delegate:nil 
             cancelButtonTitle:@"OK!" 
             otherButtonTitles:nil]; 

J'ai essayé juste le dumping sur [demande responseString] ... qui est vide maintenant. Cela montre une réponse, à coup sûr.

Comme toujours, toute aide reçue avec gratitude. Je vais redonner une fois que je suis capable!

Cheers,

Jamie.

Répondre

0

AH! Je pense que j'ai trouvé le problème. Ça a l'air d'être un problème avec TwitPic - il y a 2 jours, j'ai changé mon mot de passe pour un mot mixte avec des chiffres et des lettres. Je viens de le réinitialiser en minuscules et tout fonctionne bien.

J'ai envoyé un message au support twitpic - j'espère qu'ils vont s'y intéresser!

Jamie.

2

OK, problème résolu :-)

Découvrez ce site: link text

Il suffit d'ajouter ces lignes à votre demande:

[request setDidFinishSelector:@selector(requestDone:)]; 
[request setDidFailSelector:@selector(requestWentWrong:)]; 

et les méthodes suivantes:

- (void)requestDone:(ASIHTTPRequest *)request { NSString *response = [request responseString];} 
- (void)requestWentWrong:(ASIHTTPRequest *)request { NSError *error = [request error];} 

La réponse NSString * contient tous les commentaires importants de twitpic. Appréciez :-)

+0

Vous devez également inclure '[request setDelegate: self]' pour que cela fonctionne. –