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