我的 iPhone 应用程序中有一张本地照片,我想将其上传到 Facebook 上专门用于我的应用程序的特定相册。
问题:我的应用名称以“照片”一词结尾,因此默认的 Facebook 相册APP_NAME Photos Photos
- 显然是个问题。
目标:我想创建一个新相册,将其 ID 存储在 中NSUserDefaults
,并且(在运行时进行一些验证后)将其用于将来从应用程序上传的所有照片。
我在哪里:我可以通过 Open Graph 制作新专辑,使用我想要的名称和描述,我可以检索它的 ID。我也可以很容易地上传照片。但是,我不知道如何指定上传照片的最终位置!
代码:这是我的照片上传代码,其中注释了一些结果。我假设这是我的问题所在,因为相册创建等工作正常。
- (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];
}
猜测:我猜我的问题在于我如何将专辑 ID 参数分配给图像请求。但我不知道。
您可以在此 URL上看到这应该是可能的..