У меня есть локальная фотография в приложении для iPhone, и я хочу загрузить ее в определенный альбом на Facebook, посвященный моему приложению.
Проблема. Название моего приложения заканчивается словом "Фотографии", поэтому альбом Facebook по умолчанию – APP_NAME Photos Photos
– очевидная проблема.
Цель: я хочу создать новый альбом, сохранить его идентификатор в NSUserDefaults
и (после некоторой проверки во время выполнения) использовать его для всех будущих фотографий, загружаемых из приложения.
Мое состояние: я могу создать новый альбом через Open Graph, используя желаемое имя и описание, а также получить его идентификатор. Я также могу загрузить фотографии достаточно легко. Однако я НЕ МОГУ понять, как указать, где заканчивается эта загруженная фотография!
Код: вот мой код загрузки фотографий с комментариями некоторых результатов. Я предполагаю, что именно в этом моя проблема, поскольку создание альбома и т. д. работает отлично.
- (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];
}
Предположения: я предполагаю, что моя проблема связана с тем, как я назначаю параметр идентификатора альбома запросу изображения... но я понятия не имею.
Вы можете увидеть на этот URL, что это должно быть возможно..