我是 Android 上的 Facebook API 新手,基本上,我想做的是为我正在开发的应用程序创建自定义墙贴。 就像当您听 Shazam 歌曲时,您可以与 friend 分享结果。 我相信我必须创建一个自定义附件。这是我设置附件的代码:
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 消息发布到墙上:您可以通过简单地将消息参数作为字符串提交来完成此操作 - 如果您想附加图像等,则只需要所有 JSON。并注意在 Facebook 的页面上,它说使用此 api 调用不会发布其他人可以在他们的 feed 上看到的状态更新,它只会出现在他们的 own wall 上。 。如果您只想发布带有链接的消息,您应该可以使用 mAsyncRunner(一旦您拥有有效的 Facebook session ):
String message = "Post this to my wall";
Bundle parameters = new Bundle();
parameters.putString("message", message);
mAsyncRunner.request("me/feed", parameters, "POST", new WallPostRequestListener());
如果您发布了从 Facebook 收到的错误/响应代码,也可能会有所帮助。
关于android - 在 Android 上使用 Facebook API 创建自定义墙贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4206296/