Android facebook发布投票到墙上

时间:2012-12-19 07:36:33

标签: android facebook

我尝试使用以下代码在我的Facebook墙上发布问题,但它失败了。但单独发布问题(没有选项)工作正常。

     mPostButton.setOnClickListener(new OnClickListener() {
           public void onClick(View v) {
           try{
            Bundle params = new Bundle();
            params.putString("question", "My first Qusetion ?");
            JSONObject options = new JSONObject();
            try{
              options.put("Opt1",true);
              options.put("Opt2",false);
            }
            catch(Exception e){}

            params.putString("options",options.toString());
            String  response = facebook.request("me/questions",params,"POST");
        }catch(Exception e){}
      });
   }

2 个答案:

答案 0 :(得分:2)

尝试使用JSONArray而不是JSONObject,并确保JSONArray的.toString()函数生成一个类似["hiking", "parking"]的输出字符串,因为这是我们期望的options参数就像。您可以在Graph API资源管理器中尝试验证它的工作原理,我只是使用me/questions参数和question参数进行了options的POST操作,其值大于此值。

答案 1 :(得分:0)

Check Your APP ID.
private static final String APP_ID = "Your APP ID";
private Facebook facebook;
facebook = new Facebook(APP_ID);
restoreCredentials(facebook);

Call This Code on your button click
Bundle parameters = new Bundle();
parameters.putString("Question", "My First Question");
try { facebook.request("check/me");
String response = facebook.request("me/feed", parameters, "POST");
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("") || response.equals("false")) {
showToast("Blank response."); }
else {
showToast("Message posted to your facebook wall!");
}
finish();
} catch (Exception e) {
showToast("Failed to post to wall!");
e.printStackTrace();
}