我是Android上的Facebook API的新手,基本上,我正在尝试为我正在开发的应用程序创建自定义墙贴。 就像当你听Shazam一首歌时,你可以和你的朋友分享结果。 我相信我必须创建一个自定义附件。这是我设置附件的代码:
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());
然后,后来:
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");
}
}
}
我没有写过附件String,这只是从这个论坛中提出的另一个问题进行的测试。无论如何,当我调用myAsync.request时,我的应用程序显示错误消息,我应该如何将附件传递给对话框? 希望我已经足够清楚了。
答案 0 :(得分:3)
您确定需要设置自定义参数吗?听起来你只想将Facebook消息直接发布到墙上:你可以通过简单地将消息参数作为字符串传递来实现这一点 - 如果你想附加图像等,你只需要所有的JSON。在Facebook的页面上,它表示使用此API呼叫不会发布其他人可以在其Feed上看到的状态更新,它只会显示在他们的own wall上。如果您只想发布带有链接的消息,您应该能够使用mAsyncRunner(一旦您拥有有效的Facebook会话),就可以使用:
String message = "Post this to my wall";
Bundle parameters = new Bundle();
parameters.putString("message", message);
mAsyncRunner.request("me/feed", parameters, "POST", new WallPostRequestListener());
如果您发布了从Facebook获得的错误/响应代码,也可以提供帮助。