Facebook iOS SDK: Mit FBRequests requestForUploadPhoto kann kein Album angegeben werden:
Ich habe ein lokales Foto in meiner iPhone-App und möchte es in ein bestimmtes Album auf Facebook hochladen, das meiner App gewidmet ist.
Problem: Mein App-Name endet mit dem Wort "Fotos". Das Standard-Facebook-Album lautet daher "Fotos"APP_NAME Photos Photos
- offensichtlich ein Problem.
Tor: Ich möchte ein neues Album erstellen und dessen ID in speichernNSUserDefaults
und (nach einiger Validierung zur Laufzeit) für alle zukünftigen Fotos verwenden, die von der App hochgeladen werden.
Wo ich bin: Ich kann das neue Album mit meinem gewünschten Namen und meiner Beschreibung über Open Graph erstellen und seine ID abrufen. Ich kann auch ganz einfach Fotos hochladen. Was ich jedoch NICHT herausfinden kann, ist, wie man festlegt, wo das hochgeladene Foto landet!
Code: Hier ist mein Foto-Upload-Code mit einigen kommentierten Ergebnissen. Ich gehe davon aus, dass hier mein Problem liegt, da die Albumerstellung usw. einwandfrei funktioniert.
- (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];
}
Vermutungen: Ich vermute, mein Problem liegt irgendwo darin, wie ich der Bildanforderung meinen Album-ID-Parameter zuordne. Aber ich habe keine Ahnung.
Sie können an sehendiese URL dass dies möglich sein sollte ..