我有这段代码
JSONObject event = new JSONObject();
Bundle bundle = new Bundle();
bundle.putString("method","events.create");
event.put("name", "name");
event.put("location", "Address");
event.put("start_time", "2011-12-15T10:13:00");
event.put("end_time", "2011-12-15T10:20:00");
event.put("privacy_type", "OPEN");
event.put("event_info", "INFO");
Log.d(TAG,"evento "+mFacebook.request(bundle));
这个错误......
{"error_code":100,"error_msg":"The parameter event_info is required","request_args": [{"key":"access_token","value":"asdasdasd"},{"key":"method","value":"events.create"},{"key":"format","value":"json"}]}
我正在使用旧的API ...如果你知道使用新的Api在Android中创建事件我将不胜感激
提前致谢
答案 0 :(得分:1)
您可以使用event创建Graph API:发送POST请求。我尝试使用参数:name,start_time,end_time,description,privacy_type。 如果我正确理解了requered params只有name和start_time。如果你没有设置end_time,它将等于start_time + 3h。默认情况下,隐私是开放的。 但我不明白,你想从event_info得到什么? 您可以添加到POST字段位置。或者您希望将facebook对象作为某个地方发送扩展信息(如图谱API场所)?
答案 1 :(得分:0)
语法问题。 event_info标记取jsonObject而不是字符串。您必须将Json对象作为event_info的参数传递。这是我的工作代码。试试这个。
JSONObject json = null;
try {
json = new JSONObject();
json.put("privacy_type", "OPEN");
json.put("name", mEventName.toString());
json.put("start_time",mCurrentDateTime);
json.put("end_time", mExpiryDateTime);
json.put("description",mEventName.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Bundle params = new Bundle();
params.putString("method", "events.create");
params.putString("event_info", json.toString());
String response = "";
try {
response = facebook.request(params);
Log.d("gaurav", "response of create events ="+response);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这对我来说很好。我希望它对你有用。