2012-08-15 17 views
5

¿Cómo puedo cargar una foto en Facebook desde una aplicación iOS usando su nueva API/SDK? Ya lo intenté y no estoy llegando a ningún lado, simplemente sigo corriendo en círculos. Aquí está el código actualmente tengo:Cargar fotos con la nueva API SDK de Facebook de iOS (3.0)

-(void)dataForFaceboo{ 
    self.postParams = 
    [[NSMutableDictionary alloc] initWithObjectsAndKeys: 
    self.uploadPhoto.image, @"picture", nil]; 
} 

-(void)uploadToFacebook{ 

    [self dataForFacebook]; 

    NSLog(@"Going to facebook: %@", self.postParams); 

    // Hide keyboard if showing when button clicked 
    if ([self.photoCaption isFirstResponder]) { 
     [self.photoCaption resignFirstResponder]; 
    } 
    // Add user message parameter if user filled it in 
    if (![self.photoCaption.text 
     isEqualToString:kPlaceholderPostMessage] && 
     ![self.photoCaption.text isEqualToString:@""]) 
    { 
     [self.postParams setObject:self.photoCaption.text forKey:@"message"]; 
    } 
    [FBRequestConnection startWithGraphPath:@"me/feed" 
     parameters:self.postParams 
     HTTPMethod:@"POST" 
     completionHandler:^(FBRequestConnection *connection, 
          id result, 
          NSError *error) 
    { 
     NSString *alertText; 
     if (error) { 
      alertText = [NSString stringWithFormat: 
         @"error: domain = %@, code = %d", 
         error.domain, error.code]; 
     } else { 
      alertText = [NSString stringWithFormat: 
         @"Posted action, id: %@", 
         [result objectForKey:@"id"]]; 
     } 
     // Show the result in an alert 
     [[[UIAlertView alloc] initWithTitle:@"Result" 
           message:alertText 
           delegate:self 
           cancelButtonTitle:@"OK!" 
           otherButtonTitles:nil] show]; 
    }]; 
} 

Respuesta

0

"me/photos" está destinado a que la foto esté en la lista de "Fotos" en su perfil de Facebook. "me/feed" es solo una publicación en la línea de tiempo.

12

Su código está bien, algunos ligeros cambios por hacer:

agregar la imagen al diccionario en NSData formato, como

[params setObject:UIImagePNGRepresentation(_image) forKey:@"picture"]; 

y cambie la ruta del gráfico a "me/photos" en lugar de "me/feed"

Haga estos cambios, funcionó para mí. Recuerde que necesita usar "publish_actions" permisos.

+0

Puede aclarar la diferencia entre "me/photos" y "me/feed". Como cuando deberíamos necesitar cuál de ellos. Y qué más otras opciones están disponibles. ¿Puedes explicar un poco de detalles por favor? – Satyam

Cuestiones relacionadas