2012-05-31 4 views
8
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           photoDescription, @"message", 
           image, @"image", 
           nil]; 


[facebook requestWithGraphPath:@"me/photos" 
            andParams:params 
           andHttpMethod:@"POST" 
            andDelegate:self]; 

Esto es lo que hice para subir una imagen a Facebook. La imagen se carga correctamente en FaceBook 'fotos'. Pero quiero publicar la imagen en mi feed de Facebook. Así que lo intenté,Protectores de imágenes en Facebook Nuestro alimente

[facebook requestWithGraphPath:@"me/feed" 
            andParams:params 
           andHttpMethod:@"POST" 
            andDelegate:self]; 

pero todavía las imágenes publicadas en las 'fotos'. No aparece en el RSS ...

me han buscado y utilizado diferentes métodos para una solución, pero no pude encontrar nada útil ...

Respuesta

1

No está seguro de lo que su params parece, pero intente esto ..

UIImage *image = ...// some image. 

NSData *imageData= UIImagePNGRepresentation(image); 

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
          @"some message", @"message", imageData,@"source", nil]; 

[facebook dialog:@"feed" andParams:params andDelegate:self]; 
+0

creo que esta es la misma que la solución de la cuestión. En otras palabras, solo se publicará en la línea de tiempo de los usuarios, no en la fuente de noticias. –

+0

Edité mi respuesta para utilizar el método de diálogo de Facebook, y no la solicitud de gráfico. No puedo probarlo ahora, pero espero que esa sea la respuesta – skram

+0

Acabo de probar su solución pero no ha publicado la imagen en Facebook. Pensé que el diálogo 'feed' también sería correcto. También probé 'me/feed', que tampoco funcionó. –

0
UIImage* image=...; 
if ([FBSession.activeSession.permissions 
     indexOfObject:@"publish_actions"] == NSNotFound) { 

     NSArray *permissions = 
     [NSArray arrayWithObjects:@"publish_actions",@"publish_stream", nil]; 
     [[FBSession activeSession] requestNewPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends 
               completionHandler:^(FBSession *session, NSError *error) {}]; 
    } 
    else 
    { 
    NSMutableDictionary* params = [[NSMutableDictionary alloc] init]; 
    [params setObject:@"Photo post test..." forKey:@"message"]; 
    [params setObject:UIImagePNGRepresentation(image) forKey:@"picture"]; 
    //for not allowing multiple hits 

     [FBRequestConnection startWithGraphPath:@"me/photos" 
           parameters:params 
           HTTPMethod:@"POST" 
          completionHandler:^(FBRequestConnection *connection, 
               id result, 
               NSError *error) 
    { 
     if (error) 
     { 
      //showing an alert for failure 
      UIAlertView *alertView = [[UIAlertView alloc] 
             initWithTitle:@"Post Failed" 
             message:error.localizedDescription 
             delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
      [alertView show]; 

     } 
     else 
     { 
      //showing an alert for success 
      UIAlertView *alertView = [[UIAlertView alloc] 
             initWithTitle:@"Post success" 
             message:@"Shared the photo successfully" 
             delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
      [alertView show]; 

     } 
    }]; 
    } 
Cuestiones relacionadas