0

我尝试使用以下代码在我的 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){}
      });
   }
4

2 回答 2

2

尝试使用JSONArray而不是 a JSONObject,并确保 JSONArray 的.toString()函数生成一个看起来像的输出字符串,["hiking", "parking"]因为这是我们期望的 options 参数的样子。您可以在 Graph API 资源管理器中尝试它以验证它是否有效,我只是使用 POST 来me/questions使用question参数和options具有上述值的参数。

于 2012-12-19T08:12:39.570 回答
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();
}
于 2012-12-19T08:10:32.220 回答