我正在使用以下代码预先填充帖子对话框。但是我得到了一个空的对话框:
Bundle parameters = new Bundle();
parameters.putString("app_id", appID);
parameters.putString("name", "Facebook Dialog");
parameters.putString("caption", "Reference Documentation");
parameters.putString("message", "Facebook Dialogs are easy!");
facebook.dialog(score.this, "feed", parameters, new DialogListener() {
@Override
public void onComplete(Bundle values) {
}
@Override
public void onFacebookError(FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
但是,如果有可能,我根本不想进行任何对话,直接发布到用户墙。
答案 0 :(得分:5)
我不是为Android开发的,但我知道Facebook在处理Feed对话框中可能导致您的问题的message
参数时做了一些更改。
预先填充message
参数始终违反政策。它必须是用户生成的。在过去几个月的某个时候,Facebook甚至停止接受它在Feed对话框中使用,这可能会导致您的问题。现在,您可以将其作为参数传递的唯一方法是通过图表API发布到Feed。当然,您仍然需要确保在您的应用程序设计中遵守策略并让用户填充消息 - 它不能是应用程序生成的字符串。
所以,既然你甚至不想要对话框,你应该真正考虑通过图形API发布。您需要获取publish_stream扩展权限,然后对用户的源执行POST。见https://developers.facebook.com/docs/reference/api/post/