On Fri, 2020-05-22 at 12:10 +0100, Pete Biggs wrote:
Does the subscription process check for the user in the GAL before subscribing? Can I tell it not to?
Hi, evolution-ews searches for the contact, to verify it exists. The only way to not let it do it is to pick the user from the search dialog, but that also shows users only from the Active Directory, thus it's a no go. It would be possible to workaround this by adding a foreign folder for a different user, then modify its definition to point to the folder of the user not being in the GAL. Edit the attached getfolder.xml and write a full email address instead of its current user comany com. Then run this command, from a folder where this file is saved (replace USER:PASS with your credentials): $ curl -v -k --user USER:PASS -X POST -d @getfolder.xml \ https://outlook.office365.com/EWS/Exchange.asmx \ --header 'Content-Type: text/xml; charset=utf-8' which, if everything will work properly, will return something like this (heavily stripped here): <?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> .... <t:CalendarFolder> <t:FolderId Id="AAMkAD.....NAAA=" ChangeKey="....."/> <t:ParentFolderId Id="AAMkAD.....IAAA=" ChangeKey="...."/> <t:FolderClass>IPF.Appointment</t:FolderClass> <t:DisplayName>Calendar</t:DisplayName> <t:TotalCount>2</t:TotalCount> <t:ChildFolderCount>1</t:ChildFolderCount> </t:CalendarFolder> .... </s:Envelope> from which you want the FolderId only, the part of the Id="xxxx" (without the quotes). Then search the ~/.cache/evolution/sources/ for the .source file, which contains the information about the folder for the other user you subscribed to earlier. Maybe search with part of the display name you see in Evolution UI, ow with anything unique; eventually search for "Foreign=true" (quotes for clarity only), which should limit the list of sources a bit. When you have it, then at the top it'll look like this: [Data Source] DisplayName=User — Calendar Enabled=true Parent=...... where you might want to change the DisplayName value to reflect what the calendar shows. This is used in the GUI. Then search for: [Exchange Web Services Folder] ChangeKey= Id=.... Foreign=true .... where you'll replace the Id value with the one the curl command returned. In this case it would be: Id=AAMkAD.....NAAA= When you finally save the .source file run: $ evolution --force-shutdown which will restart also background processes, thus they know about the changes. Then you might see the other calendar. Bye, Milan
Attachment:
getfolder.xml
Description: XML document