2010-10-14 5 views
1

Je crée une application iphone dans laquelle je dois télécharger des photos en utilisant différents services. J'ai réussi à télécharger des photos avec Twitpic & YFrog mais pas en mesure de faire avec Plixi. J'utilise Oauth, car Twitter n'autorise pas l'authentification de base.Comment télécharger des photos sur Plixi (Tweetphoto) en utilisant Oauth?

Si quelqu'un a essayé avec Plixi, s'il vous plaît aidez-moi !!

J'ai beaucoup googlé mais je n'ai pas reçu de documentation pertinente pour le nouveau Oauth pour Plixi.

Répondre

4

Enfin, je suis avec une solution pour mon problème :)

Si quelqu'un est aussi coincé avec ce problème, ajoutez simplement le dossier TweetPhoto à partir du lien d'application suivant: http://code.google.com/p/tweetphoto-api-objective-c/downloads/detail?name=TPAPI-Objective-C-Library.zip

Modifiez les urls Tweetphoto pour plixi maintenant. Aussi, peut se référer à mon code suivant pour faire des appels de fonction:

-(void)uploadtoTweetPhoto{ 
    NSString *message = [self.tweetTextView.text stringByReplacingOccurrencesOfString:@"Max. 140 characters" withString:@""]; 
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]init]; 


if((message == nil) || ([message isEqual:@""])){ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Please enter your tweet message.." message: @"" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil]; 
    [alert show]; 
    [alert release]; 
} 
else{ 
    [dictionary setObject:message forKey:@"message"]; 
} 

if([dictionary count] == 1){ 
    [indicator startAnimating]; 
    [NSThread detachNewThreadSelector:@selector(uploadPhotoToTweetPhoto:) toTarget:self withObject:dictionary]; 


} 
[dictionary release]; 
} 



- (void)uploadPhotoToTweetPhoto:(NSDictionary *)dictionary{ 

    NSString *message = [dictionary objectForKey:@"message"]; 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    NSString *accessTokenKey = [[NSUserDefaults standardUserDefaults] valueForKey:@"oauth_token"]; 
    NSString *accessTokenSecret = [[NSUserDefaults standardUserDefaults] valueForKey:@"oauth_token_secret"]; 

    TweetPhoto *tweetPhoto = [[TweetPhoto alloc] initWithSetup:accessTokenKey identitySecret:accessTokenSecret apiKey:Plixi_API_Key serviceName:@"Twitter" isoAuth:YES]; 

    NSData *dat =[tweetPhoto upload:UIImageJPEGRepresentation(self.imgView.image,0.8) comment:message tags:@"" latitude:23.4646 longitude:-87.7809 returnType:TweetPhotoCommentReturnTypeXML]; 
    NSString *status =[NSString stringWithFormat:@"%i",[tweetPhoto statusCode]]; 
    [tweetPhoto release]; 
    [self performSelectorOnMainThread:@selector(photoUploadedtoTweetPhoto:) withObject:status waitUntilDone:[NSThread isMainThread]]; 
    [pool release]; 
} 

- (void)photoUploadedtoTweetPhoto:(NSString*)status{ 
    [indicator stopAnimating]; 
    if([status isEqualToString:@"201"]) 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Tweet Posted" message: @"" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil]; 
     [alert show]; 
     [alert release]; 
    } 
    else { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Tweet Failed" message: @"" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil]; 
     [alert show]; 
     [alert release]; 
    } 

} 
0

Je suis curieux quant à l'expression que vous avez utilisée dans Google. En tout cas, googling "plixi api" outil moi à this page, qui relie à un Cocoa wrapper on Google Code.

+0

J'ai le même problème. Joshua, TweetPhoto a changé. C'est Plixi maintenant et les API sont complètement différentes. Je suppose que le PO veut une solution pour Plixi, pas pour TweetPhoto. – lostInTransit

+0

Oui, je veux la solution pour Plixi et cela aussi pour Plixi OAuth pas avec l'authentification de base. Pour l'authentification de base, un lien est disponible: http: //groups.google.com/group/plixi/web/sample-iphone-code-upload J'ai essayé de manipuler ce code pour oauth, mais sans succès. – iPhoneDev

Questions connexes