如何使用davical的caldav4j获取共享日历列表?

时间:2019-08-01 13:02:37

标签: java caldav

我使用netbeans,caldav4j和Davical创建了自己的日历。但是,我无法获取共享日历列表。

我可以创建日历或事件。我可以在Agendav看到它们。但是,当我在Agendav上与其他用户共享日历时,我的netbeans代码无法获取它。

我想显示哪个用户与我共享日历。

    HttpClient http = createHttpClient();
    HostConfiguration hostConfig = createHostConfiguration();

    PropFindMethod propfind = new PropFindMethod();
    propfind.setPath(caldavCredential.home);

    PropProperty propFindTag = PropertyFactory.createProperty(PropertyFactory.PROPFIND);
    PropProperty aclTag = PropertyFactory.createProperty(PropertyFactory.ACL);
    PropProperty propTag = new PropProperty(CalDAVConstants.NS_DAV,"D","prop");
    propTag.addChild(aclTag);
    propFindTag.addChild(propTag);
    propfind.setPropFindRequest(propFindTag);
    propfind.setDepth(0);

    executeMethod(hostConfig, propfind);

    Set<String> keySet = (propfind.getResponseHashtable()).keySet();
    for(String key: keySet){
       CalDAVResponse response =  (propfind.getResponseHashtable()).get(key);
       String href = response.getHref();

       Ace[] aces = propfind.getAces(href);
       Enumeration enumerations = aces.enumeratePriviliges();
       while(enumerations.hasMoreElements()){
           Privilege privilege = (Privilege)enumerations.nextElement();
           System.out.println("parameter: " + privilege.getParameter());
       }
    }

我尝试获取特权,但是没有参数。我只希望哪个用户与我共享日历。我可以制作日历,添加活动,但无法访问共享的日历列表。

0 个答案:

没有答案