AppointmentCalendar.SyncManager value for different Accounts
In Windows 10 Settings > Account > Email & accounts I added 3 accounts: Exchange, Office 365 and Google.
I wrote an app to access the calendars related to these accounts, when and I inspect the properties of AppointmentCalendar I found that
- for Exchange the value of property AppointmentCalendar.SyncManager is Windows.ApplicationModel.Appointments.AppointmentCalendarSyncManager
- for Office 365 and Google the property AppointmentCalendar.SyncManager is null
What I would like to know is why there is this difference? Is something coded in Windows or in UWP? Or there is something coded in Exchange, Office 365 and Google?
Hi, Return null, indicating that the current account does not have a manager that can be used to synchronize records, which may be caused by insufficient application permissions.
The mailbox you add in "Email and Account / Accounts used by email, calendar, and contacts" can only be used by specific system applications.
which may be caused by insufficient application permissions
OK, but why? Why my app (that by the way declares <rescap:Capability Name="appointmentsSystem"/>) has enough permission with Exchange, but not with Office 365 and Google? Is something coded in Windows 10, in UWP, or in Exchange, Office 365 and Google?
When I tried to call the
AppointmentCalendar.RegisterSyncManagerAsyncmethod, I got a permission error. After team discussing, this situation may be caused by different account types. Returning null means that it cannot be accessed. But maybe you can talk about why you need to access
SyncManager, maybe there are other ways to achieve your goal.
That does not answer to the question. There must be in Microsoft somebody that can answer to the question "Why for Exchange there is a SyncManager but not for Office 365 and Gmail?".
The original goal is to use API AppointmentCalendar.SaveAppointmentAsync with an Office 365 account, this API creates appointments with Exchange but not with Office 365 and Google.
Anyway after digging and comparing AppointmentCalendar objects for different accounts, now I want to understand where is coded the difference: in which component in the stack between an UWP app and the calendar account is coded that AppointmentCalendar.SaveAppointmentAsync is null for an Office 365 account?
Is coded in Windows 10?
Is coded in UWP?
Is coded in Exchange, Office 365 and Google?
Hello, sorry for the late reply, I am communicating with the team, if anything news, I will post it here.
Hello, I'm sorry for the late reply. I haven't got a response yet, I will continue to follow this question, if there is progress I will post it here.
Hello, sorry to keep you waiting. I have feedback to your internal channel on your question again, and will regularly track the progress of this question, if there is a clear answer, I will post it here.
Hello, sorry for the late reply. After communication with engineer,
SyncManageris designed to be used only with Exchange services, and currently cannot be used with other mail services.
Sign in to comment