在Android上使用Facebook API创建自定义墙贴
我不熟悉Android上的Facebook API,基本上,我正在尝试为我正在开发的应用程序创建自定义墙贴。 比如当你听一首歌,你可以和你的朋友分享结果。 我相信我必须创建一个自定义附件。以下是我设置附件的代码:在Android上使用Facebook API创建自定义墙贴,android,api,facebook,Android,Api,Facebook,我不熟悉Android上的Facebook API,基本上,我正在尝试为我正在开发的应用程序创建自定义墙贴。 比如当你听一首歌,你可以和你的朋友分享结果。 我相信我必须创建一个自定义附件。以下是我设置附件的代码: mPostButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Bundle myParams = new Bundle(); Strin
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");
}
}
}
我没有写附件字符串,它只是从这个论坛上提出的另一个问题的测试。无论如何,当我调用myAsync.request时,我的应用程序会显示一条错误消息,我应该如何将附件传递到对话框?
希望我说得够清楚。您确定需要设置自定义参数吗?听起来你可以直接在墙上发布一条Facebook消息:你可以通过简单地将message参数作为字符串提交来实现这一点——如果你想附加一个图像等,你只需要所有的JSON。Facebook的页面上注意到,使用此api调用不会发布其他人可以在其提要上看到的状态更新,它只会出现在他们的屏幕上。如果您只想发布带有链接的消息,您应该能够使用您的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获得的错误/响应代码,也可能会有所帮助。您的回答解决了我很多问题。出现问题,因为我没有在mAsyncRunner.request中指定POST。谢谢。