Обработка событий в 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);
Другие вопросы по тегам