2012-02-27 69 views
1

我正在使用以下代码预先填充发布对话框。但我发现了一个空的对话框,不过:无法提供参数到Facebook发布对话框

 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() { 
      } 
     }); 

然而,如果可能的话,我想没有任何对话可言,直接发布到用户墙上。

回答

5

我不会为Android开发,但我知道Facebook在Feed对话框中处理message参数时发生了变化,可能会导致您的问题。

预先填充message参数始终违反政策。它必须是用户生成的。在过去的几个月中,Facebook停止了一些事情,甚至在Feed对话框中接受它,这可能会导致你的问题。现在,您可以将其作为参数传递的唯一方式是通过图表API发布到Feed。当然,您仍然需要确保遵守应用设计中的策略,并让用户填充消息 - 它不能是应用生成的字符串。

因此,由于您甚至不需要对话框,所以您应该通过图形API真正查看发布内容。您需要获取publish_stream扩展权限,然后对用户的提要执行POST。见https://developers.facebook.com/docs/reference/api/post/