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?
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