使用Facebook old api在Android中创建活动

时间:2011-12-16 01:58:44

标签: android facebook events facebook-graph-api

我有这段代码

        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中创建事件我将不胜感激

提前致谢

2 个答案:

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

这对我来说很好。我希望它对你有用。