2009-08-24 5 views
2

Ich habe herausgefunden, wie man mit der FBConnect-API auf dem iPhone Text an die Wand des Benutzers sendet. ich auch gefunden, wie ein Bild setzen bereits im Internet:FBConnect: sende ein paar Bilder an jemandes Wand

FBFeedDialog* dialog = [[[FBFeedDialog alloc] init] autorelease]; 
dialog.delegate = self; 
dialog.templateBundleId = 12345; 
dialog.templateData = @"{\"image\":[{\"src\":\"http://sample.png\",\"href\":\"http://sample.com\"}] }"; 
[dialog show]; 

(siehe http://wiki.developers.facebook.com/index.php/Facebook_Connect_for_iPhone)

Aber ich kann nicht herausfinden, wie man Upload ein UIImage von meinem iphone auf dem Benutzerwand mit FB Api. Muss ich zuerst das Bild auf einer beliebigen Website hochladen und dann seine URL in die Vorlage templateData eingeben? Gibt es keine einfachere Lösung?

Danke.

Martin

Antwort

1

Verwenden Sie die unten Funktion um das Bild zu laden, die UIImage als Parameter übergeben, wird es funktionieren.

- (void)uploadPhoto:(UIImage *)uploadImage 
{ 
    NSMutableDictionary *args = [[[NSMutableDictionary alloc] init] autorelease]; 
    [args setObject:uploadImage forKey:@"image"]; // 'images' is an array of 'UIImage' objects 
    [args setObject:@"4865751097970555873" forKey:@"aid"];// this should be album id 
    uploadPhotoRequest = [FBRequest requestWithDelegate:self]; 
    [uploadPhotoRequest call:@"photos.upload" params:args]; 

    NSLog(@"uploading image is successful"); 
} 
+0

Vielen Dank für den Code. Sie haben also zwei Schritte: zuerst den Upload, sekundär die templateData. Gibt es auf Facebook Server einige Stellen, an denen Sie diese Art von Daten ablegen können? – Martin

+0

Kommentar sagt "Bilder in einem Array ...", aber es gibt keine Variable "Bilder" im Beispielcode. Kannst du bitte bearbeiten? – Olie

0

[[FBRequest requestWithDelegate: self] Aufruf: @ "facebook.photos.upload" params: params dataParam: (NSData *) img;

und Parameter an Null übergeben. es wird Bild zum Standardalbum hochladen