Добавление хостов к событию после создания на фб SDK 3 в Android
Итак, мне удалось 1. заставить логин работать. 2. создать событие для вошедшего в систему пользователя. 3. показать список друзей пользователя, попросить пользователя выбрать друзей и получить их идентификаторы.
Я хочу обновить событие fb идентификаторами выбранных пользователей в качестве дополнительных хостов. Несмотря на попытки в течение нескольких дней, я застрял.
Пожалуйста помоги.
Код логина:
btn_login = (Button) findViewById(R.id.button1);
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// start Facebook Login
Session.openActiveSession(MainActivity.this, true,
new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session,
SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
// callback after Graph API
// response with user
// object
@Override
public void onCompleted(
GraphUser user,
Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.tv1);
MangoTestApplication app = (MangoTestApplication) getApplication();
app.setUser(user);
// System.out
// .println(user);
welcome.setText("Hello "
+ user.getName()
+ "!");
}
}
});
}
}
});
Создание события:
Bundle params = new Bundle();
// params.putString("type", "event");
// params.putString("title", "Sample events.event");
// params.putString("description", "");
params.putString("name", "Test Event4");
params.putString("start_time", "2013-07-14");
Session.getActiveSession().requestNewPublishPermissions(
new Session.NewPermissionsRequest(MainActivity.this,
Arrays.asList(permissions)));
Request request = new Request(Session.getActiveSession(),
"me/events", params, HttpMethod.POST, new Callback() {
@Override
public void onCompleted(Response response) {
// System.out.println(response);
System.out.println(response);
event_id = response.getGraphObject()
.getProperty("id").toString();
try {
if (response.getConnection()
.getResponseCode() == 200)
Toast.makeText(MainActivity.this,
"Event Created",
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
И обновление события для добавления хостов (что не работает):
Bundle params = new Bundle();
params.putString("name", "Test Event5");
params.putString("host", fb friends id here));
params.putString("start_time", "2013-07-15");
Request request = new Request(Session.getActiveSession(),
event_id, params, HttpMethod.POST, new Callback() {
@Override
public void onCompleted(Response response) {
// System.out.println(response);
System.out.println(response);
try {
if (response.getConnection()
.getResponseCode() == 200)
Toast.makeText(MainActivity.this,
"Event Created",
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();
Обратите внимание, что обновление события работает для изменения имени / даты. Но я не могу добавить больше хостов. Пожалуйста помоги!!! Примечание: вместо "хоста" я также попытался вставить выбранный идентификатор друга как "создатель" в комплект, но это не помогло.