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で、これが可能であることがわかります。