3

J'utilise ASIHTTPRequest pour travailler sur Facebook API graphique.Publier une image sur Facebook 'flux' à partir d'une application iPhone

Ceci est le plus proche que je suis allé à poster une image sur le flux. Donc, si j'ai un

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

L'URL est https://graph.facebook.com/me/feed

maintenant pour publier une photo que je fais ce qui suit:

[request setPostValue:@"My Message" forKey:@"message"]; 

[request setPostValue:@"somepic.png" forKey:@"picture"]; 

[request setPostValue:@"Some Name" forKey:@"name"]; 

[request setPostValue:@"Some description" forKey:@"description]; 

[request startAsynchronous]; 

Si vous essayez ceci alors tout fonctionne bien autre que l'image étant posté. Un espace réservé vide pour l'image est bien afficher sur le flux.

Répondre

1

Je trouve cette documentation sur facebook: http://developers.facebook.com/docs/reference/api/post

Selon cette documentation, nous ne pouvons pas publier une image résidant sur notre machine en utilisant l'api. Au lieu de cela, nous devons télécharger l'image et ensuite fournir le lien pour l'envoi au flux.

Mais le téléchargement d'une image sur le mur est autorisé si vous vous connectez à facebook.com. Je crois que cette fonctionnalité n'est pas fournie dans l'API graphique.

4

il suffit d'utiliser ce petit extrait pour télécharger une image sur votre disque en tant que données brutes

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setData:UIImageJPEGRepresentation(img.image, 0.1) withFileName:filename andContentType:@"image/jpeg" forKey:@"photo"]; 
+0

Great !!, solution parfaite pour moi. – youshunei

+0

@youshunei, qu'est-ce qui a fonctionné pour vous? avez-vous réussi à partager une image directement depuis l'appareil sans la télécharger sur votre serveur? –

+0

@YogevShelly, c'était une erreur, c'est une méthode simple pour télécharger sur l'album Facebook, ne peut pas publier le lien, la description, .. en un seul clic soumettre. Vous devez d'abord télécharger la photo dans l'album, puis publier le flux avec des informations complètes. – youshunei

0

Il pourrait être intéressant de jeter un oeil à ShareKit - http://www.getsharekit.com/

Leur application de démonstration publie une photo sur le Facebook mur avec succès. Je crois qu'ils enveloppent le processus upload-then-publish dans leur code.

HTH, Oded