处理 box-api 和 java 中的事件

Handling events in box-api with 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();

这里有事件列表: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);

EventListener 的方向是正确的。在您的 onEvent(BoxEvent) 方法中,您首先要过滤您感兴趣的事件类型,例如:

if (event.getType() == BoxEvent.Type.ITEM_UPLOAD) {
    // Do something
}

您还可以找到支持的事件类型的完整列表 in the 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());
}