2010-11-17 4 views
2

Je suis nouveau sur Facebook API sur Android, et fondamentalement, ce que je suis en train de faire est de créer un mur personnalisé pour une application que je développe. Comme quand vous écoutez une chanson de Shazam et que vous pouvez partager le résultat avec vos amis. Je crois que je dois créer une pièce jointe personnalisée. Voici mon code pour le réglage de la pièce jointe:Créer un mur personnalisé avec Facebook API sur Android

mPostButton.setOnClickListener(new OnClickListener() { 

    public void onClick(View v) { 
     Bundle myParams = new Bundle(); 
     String attachment="{\"name\":\"Gran Turismo 5\"," + 
      "\"href\":\"http://www.unknown.com/?lang=fr\"," + 
      "\"caption\":\"Sony Computer Entertainment\",\"description\":" + 
      "\"Une vidéo proposée par Cedemo.\",\"media\":" + 
      "[{\"type\":\"image\",\"src\":" + 
      "\"http://www.unknown.com/prepicture//thumb_title/15/15061_1.jpg\"," + 
      "\"href\":\"http://www.unknown.com/?lang=fr\"}],\"properties\":" + 
      "{\"Autre lien\":{\"text\":\"Cedemo\",\"href\":\"http://www.unknown.com\"}}}"; 
     myParams.putString("attachment", URLEncoder.encode(attachment); 
     mFacebook.dialog(Option.this, "stream.publish",myParams, 
       new SampleDialogListener()); 

Et puis, plus tard:

public class SampleDialogListener extends BaseDialogListener { 

    public void onComplete(Bundle values) { 
     final String postId = values.getString("post_id"); 
     if (postId != null) { 
      Log.d("Facebook-Example", "Dialog Success! post_id=" + postId); 
      mAsyncRunner.request(postId,values, new WallPostRequestListener()); 
     } else { 
      Log.d("Facebook-Example", "No wall post made"); 
     } 
    } 
} 

Je n'ai pas écrit la chaîne de fixation, il est juste un test pris d'une autre question posée dans ce forum. Quoi qu'il en soit, quand j'appelle myAsync.request, mon application affiche un message d'erreur, comment suis-je censée transmettre la pièce jointe à mon dialogue? J'espère avoir été assez clair. Etes-vous sûr de vouloir définir des paramètres personnalisés?

Répondre

3

On dirait que vous pouvez simplement envoyer un message Facebook directement sur le mur: vous pouvez le faire en transmettant simplement le paramètre message sous forme de chaîne - vous avez seulement besoin de tout ce JSON si vous voulez joindre une image, etc. Sur la page de facebook, il est dit que l'utilisation de cet appel API ne publiera pas une mise à jour de statut que les autres peuvent voir sur leur flux, il apparaîtra simplement sur leur own wall. Si vous voulez juste pour poster un message avec un lien, vous devez simplement être en mesure d'utiliser votre mAsyncRunner (une fois que vous avez votre session Facebook valide) en utilisant ceci:

String message = "Post this to my wall"; 
Bundle parameters = new Bundle();   
parameters.putString("message", message); 
mAsyncRunner.request("me/feed", parameters, "POST", new WallPostRequestListener()); 

peut également vous aider si vous avez affiché l'erreur/code de réponse vous obtenez de Facebook.

+1

Votre réponse m'a permis de résoudre beaucoup de problèmes. Avait un problème parce que je n'ai pas spécifié POST dans mAsyncRunner.request. Merci beaucoup. – ilsologheo00

Questions connexes