Обработка событий в box-api с помощью Java
Я новичок в box-api и мне интересно обрабатывать события с новой версией box java sdk. Я прочитал документацию о событиях, и я нашел только следующий код.
Я буду благодарен, если кто-нибудь сможет мне помочь с кодом, например, обработать событие загрузки файла.
BoxAPIConnection api = new BoxAPIConnection("YOUR-DEVELOPER-TOKEN");
EventStream stream = new EventStream(api);
stream.addListener(new EventListener() {
public void onEvent(BoxEvent event) {
// Handle the event.
???? Need help here ????
}
});
stream.start();
2 ответа
Вы на правильном пути со своим EventListener
, В вашем onEvent(BoxEvent)
Сначала вы захотите отфильтровать интересующие вас типы событий с помощью чего-то вроде:
if (event.getType() == BoxEvent.Type.ITEM_UPLOAD) {
// Do something
}
Вы также можете найти полный список поддерживаемых типов событий в javadocs.
Как только вы знаете тип события, вы можете привести источник события к соответствующему типу. Например, если мы обрабатываем BoxEvent.Type.ITEM_UPLOAD
событие, то источником события будет BoxItem
,
if (event.getType() == BoxEvent.Type.ITEM_UPLOAD) {
BoxItem uploadedItem = (BoxItem) event.getSource();
// Do something with the uploaded item. For this example, we'll just print
// out its name.
BoxItem.Info itemInfo = uploadedItem.getInfo();
System.out.format("A file named '%s' was uploaded.\n", itemInfo.getName());
}
Здесь у вас есть список событий: https://developers.box.com/docs/
Так где у вас??? в своем коде попробуй
if(event == ITEM_UPLOAD)
{
//your action
}
or
if(event == "ITEM_UPLOAD")
{
{
//your action
}
}
или это, вероятно, правильно:
if(event.type == "ITEM_UPLOAD")
{
//your action
}
И чтобы увидеть, какое событие вы получаете, напишите это внутри onEvent():
System.out.println("Event: " + event);