mguessan / davmail

DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway - Synced with main subversion repository at
http://davmail.sourceforge.net
GNU General Public License v2.0
572 stars 82 forks source link

trouble viewing other people's calendars #70

Open andrei-a-papou opened 4 years ago

andrei-a-papou commented 4 years ago

First off, thank you for making this wonderful tool.

I've been running DavMail (v5.3.1-3079) in server mode in conjunction with Thunderbird for over a week now. (Trying to migrate from the Exchange Calendar addon due to its bugginess and slowness.)

DavMail has been working fine so far with my personal Exchange calendar at https://localhost:1080/users/me@company.com/calendar.

However, I need to view other colleague's calendars and I haven't been able to make it work so far.

When I create a new Thunderbird calendar at https://localhost:1080/users/colleague@company.com/calendar, I get this error: 2019-11-09 15:45:40,953 ERROR [CaldavConnection-49964] davmail - ErrorFolderNotFound The specified folder could not be found in the store.

If I try https://localhost:1080/users/colleague@company.com/, I get this error in Thunderbird logs:

CalDAV: Colleague points to a DAV resource, but not a CalDAV calendar

Ditto for https://localhost:1080/users/colleague@company.com (without the trailing slash).

If I add that same calendar in the Exchange Calendar addon, it works. So it shouldn't be a permissions issue, unless the addon handles permissions differently from DavMail.

I can also use the Web frontend to view the colleague's calendar with no problems.

How can I debug the issue further to make other people's calendars work?

According to the logs, the company's server is running Exchange 2013, SP1.

mguessan commented 4 years ago

This may be an access rights issue. The easiest way to check this would be to connect with EWSEditor and try to open target calendar

mguessan commented 4 years ago

Basic shared calendar access should work. Would need to implement a different endpoint to provide direct access to any folder

andrei-a-papou commented 4 years ago

This may be an access rights issue.

Seems this way, yes. I have a colleague who fully shared his calendar with me (not just the busy info, but the actual meeting names and agendas), and his calendar can be managed in DavMail just like my personal calendar.

However, basic access to other people's shared calendars is not working.

The easiest way to check this would be to connect with EWSEditor and try to open target calendar

I'm on Linux, I tried running EWSEditor under a Windows 8.1 machine in VirtualBox and couldn't get it to authenticate with Exchange -- no matter the settings...

Is there any other way to help debug the issue or discover some other endpoints for basic shared calendar access (besides https://localhost:1080/users/colleague@company.com/calendar) that would work with DavMail?

andrei-a-papou commented 4 years ago

Basic shared calendar access should work.

Unfortunately, only my own or fully shared calendars (see above) work when using the https://localhost:1080/users/user@company.com/calendar URL...

Another problem is the shared calendar appears working but empty in Thunderbird, with no user-facing indication that something went wrong. Perhaps this DavMail error could be somehow propagated to Thunderbird's UI?

Would need to implement a different endpoint to provide direct access to any folder

I'm not familiar with Exchange internals, but perhaps taking a look at how the Thunderbird addon does it would help?

mguessan commented 4 years ago

I need to investigate this further. The thunderbird addon probably uses CalendarView to access those limited access shared calendars. I am pretty sure there is not other way to access those over EWS.

andrei-a-papou commented 4 years ago

Thanks for your time, I would be happy to help test or investigate things to fix this issue.

frederikmoellers commented 4 years ago

I'm having the same problem. I managed to configure a calendar from another account where I had full read/write access (and I also have permissions to access that user's complete mailbox), but I cannot get read-only calendars from colleagues to work at all.

When colleagues share their calendars I get an email containing a file called sharing_metadata.xml. This file includes a hexadecimal EntryId, FolderId and MailboxId. However, I couldn't find any use for those values in both DavMail or EWSEditor. If it helps, I can post an (anonymized) file here for reference.

I'm also glad to support in any way possible, but alas I have 0 experience with the Exchange API or Thunderbird addon development.

x09 commented 3 years ago

However, basic access to other people's shared calendars is not working.

not working for me too. If calendar shared especially for me - working fine, but if the rights are not explicitly specified - I do not see even "busy"/"free" time and get ErrorFolderNotFound The specified folder could not be found in the store.

2021-04-02_16-13

mmoorefpcs commented 6 months ago

I found this thread while researching Shared Calendars. This seems to be the exact issue I am experiencing. A calendar was shared with everyone in the school, with some people having full access and others having read-only access. I am one of the ones with read-only access and I get an error message when I try to add the calendar.

Date: Tue Mar 05 20:30:30 EST 2024 (1709688630889) Thread: CaldavConnection-65129 Message #: 32149 Level: DEBUG NDC:
Category: davmail.caldav.CaldavConnection Message: > ErrorFolderNotFound The specified folder could not be found in the store. request: </soap:Header>IdOnly</t:BaseShape></t:AdditionalProperties></m:FolderShape>REDACTED</t:EmailAddress></t:Mailbox></t:DistinguishedFolderId></m:FolderIds></m:GetFolder></soap:Body></soap:Envelope> Location: davmail.caldav.CaldavConnection.sendHttpResponse(CaldavConnection.java:1337) Thrown:

EtorArza commented 4 months ago

I am facing the same problem, can't find shared calendars, even those which I have edit access level. Any assistance or workarounds would be appreciated.

agenbite commented 3 months ago

+1

epagone commented 1 month ago

Can someone please clarify if at least fully-shared calendars are currently available with DavMail 6.2.2? I do not seem to be able to do it. If I add my own calendar, this works fine. Happy to help in debugging although I have a very limited understanding of the process.

mguessan commented 1 month ago

Just checked: access to the default shared calendar is working with syntax, try to access DavMail in a web browser:

http://localhost:1080/users/user@company.com/calendar/ => dumps user default calendar content

http://localhost:1080/users/sharedemail@company.com/calendar/ => dumps shared default calendar content

It's a bit more tricky for other calendars and access may or may not work

epagone commented 1 month ago

Thanks for the info. I was able to experiment a bit and these are my findings (DavMail 6.2.2).

Unfortunately, this last point is quite a big deal for me. I'm happy to investigate more, if there's a way to make this work.

agenbite commented 1 month ago

I need to see the calendar of a coworker. I assumed I could replace "sharedemail@company.com" in the URL by coworker@company.com, but this doesn't work. Am I in a different situation as @epagone?

epagone commented 1 month ago

My understanding is that you should be able to add it (although waiting for a long time) if your colleague fully shared their calendar, otherwise it won't work. I hope to be wrong, of course 😁

agenbite commented 1 month ago

Thanks, @epagone. I get "Could not find calendars at this location". :(