Facebook iOS SDK: Não é possível especificar um álbum usando o requestForUploadPhoto do FBRequest:
Eu tenho uma foto local no meu aplicativo para iPhone, e quero enviá-lo para um álbum específico no Facebook dedicado ao meu aplicativo.
Problema: O nome do meu aplicativo termina com a palavra "Fotos", então o álbum padrão do Facebook éAPP_NAME Photos Photos
- obviamente um problema.
Objetivo: Eu quero criar um novo álbum, armazenar seu ID emNSUserDefaults
e (após alguma validação em tempo de execução) usá-lo para todas as fotos futuras que estão sendo carregadas do aplicativo.
Onde eu estou: Eu posso fazer o novo álbum via Open Graph, usando o nome e a descrição desejados, e posso recuperar seu ID. Eu também posso fazer upload de fotos com bastante facilidade. No entanto, o que eu não consigo descobrir é como especificar onde essa foto carregada acaba!
Código: Aqui está o meu código de upload de foto com alguns resultados comentados. Estou assumindo que este é o lugar onde o meu problema é, desde a criação do álbum, etc, está funcionando perfeitamente.
- (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];
}
Suposições: Eu estou supondo que o meu problema está em algum lugar em como eu estou atribuindo o meu parâmetro de ID do álbum para a solicitação de imagem .. mas eu não tenho idéia.
Você pode ver emeste URL que isso deveria ser possível ..