Facebook iOS SDK: no se puede especificar un álbum con la solicitud de FBRequestForUploadPhoto:
Tengo una foto local en la aplicación de mi iPhone y quiero subirla a un álbum específico en Facebook dedicado a mi aplicación.
Problema: El nombre de mi aplicación termina con la palabra 'Fotos', por lo que el álbum de Facebook predeterminado esAPP_NAME Photos Photos
- Obviamente un problema.
Gol: Quiero crear un nuevo álbum, almacenar su ID enNSUserDefaults
y (después de cierta validación en el tiempo de ejecución) utilícelo para todas las fotos futuras que se carguen desde la aplicación.
Donde estoy Puedo hacer el nuevo álbum a través de Open Graph, usando mi nombre y descripción deseados, y puedo recuperar su ID. También puedo subir fotos con suficiente facilidad. Sin embargo, ¡lo que NO PUEDO averiguar es cómo especificar dónde termina esa foto cargada!
Código: Aquí está mi código de carga de fotos con algunos resultados comentados. Supongo que aquí es donde está mi problema, ya que la creación del álbum, etc., funciona perfectamente.
- (void)postPhotosToFacebook:(NSArray *)photos withAlbumID:(NSString *)albumID {
// Just testing with one image for now; I'll get in to multiple later..
UIImage *image = [photos lastObject];
FBRequest *imageUploadRequest = [FBRequest requestForUploadPhoto:image];
// CALL OUT: I'm guessing my problem is here - but I just don't know!
[[imageUploadRequest parameters] setValue:albumID
forKey:@"album"];
DebugLog(@"imageUploadRequest parameters: %@",[imageUploadRequest parameters]);
// Results of DebugLog:
// imageUploadRequest parameters: {
// album = 10151057144449632;
// picture = "<UIImage: 0xc6b6920>";
// }
// The album data returns correctly using FB's Graph API explorer tool,
// so I know it's a legit album.
// https://developers.facebook.com/tools/explorer
FBRequestConnection *connection = [[FBRequestConnection alloc] init];
[connection addRequest:imageUploadRequest
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
DebugLog(@"Photo uploaded successfuly! %@",result);
// Results of DebugLog:
//
// Photo uploaded successfuly! {
// id = 10151057147399632;
// "post_id" = "511304631_10151057094374632";
// }
// Again, the photo at that ID shows up correctly, etc -
// BUT it's in the wrong album! It shows up in the default app album.
} else {
DebugLog(@"Photo uploaded failed :( %@",error.userInfo);
}
}];
[connection start];
}
Adivina: Supongo que mi problema está en algún lugar en cómo asigno mi parámetro de ID de álbum a la solicitud de imagen ... pero no tengo ni idea.
Se puede ver enesta URL que esto debería ser posible ..