locked
Office365 - Differentiating imported calendars (readonly) via the API RRS feed

  • Question

  • We have a calendar syncing feature using the API outlined msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations

    Through the 365 Calendar UI you are able to add a public, read-only calendar via 'Add Calendar -> From internet' dropdown. These calendars appear under 'My Calendars' even though you can not create or edit events on them through the 365 UI. (However, you are able to create events by sending a POST through the API.)

    This has caused an issue where an on-premises Exchange calendar is shared to 365, and when we create events on that calendar via the API (to the new calendar on 365), they are later deleted (presumably by the exchange server).

    I would like to know how to get only the calendars that the user has write access to, via the API.


    Monday, March 7, 2016 6:50 PM

All replies

  • Hi DylanR2,

    As far as I know, there isn’t the REST API to do that. On the other hand, in my opinion, since the calendar is read-only, we should unable to create or edit.

    Regards

    Starain


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, March 8, 2016 7:36 AM
  • I expected that we would be unable to as well, however if you do the steps outlined above and send a POST request to create a calendar entry, the action will complete successfully (with a 200 response).

    Furthermore, the calendar event will appear in the read-only calendar inside of office365 web UI for a few hours. It is then deleted, when the imported calendar fetches results from the original calendar.

    This is a detrimental bug when using the SyncEvents endpoint. When the events are deleted on O365 side, the SyncEvents endpoint will return DELETE events. To illustrate:

    1. I have a calendar in another program, say Google. Call this calendar A.

    2. I import Calendar A into Office365 via Ical feed. This creates a new calendar in office365, call it Calendar B. (From the 365 UI, I cannot write to calendar B as the UI sees that it should be read only).

    3. Using the API, I get the ID of calendar B.

    4. Using the API, create a new calendar event to calendar B.

    5. Observe that the event displays on calendar B in the 365 UI!

    6. Observe that the event is deleted after some hours from Calendar B.

    Tuesday, March 8, 2016 5:06 PM
  • Hi,

    I'm trying to involve some senior engineers into this issue and it will take some time. Your patience will be greatly appreciated.

    Regards

    Starain


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Wednesday, March 9, 2016 5:23 AM
  • Great, thanks! Looking forward to your response.
    Wednesday, March 9, 2016 10:22 PM
  • Hi DylanR2,

    For Office 365 with REST API issue, it is not supported here, please post it to stack overflow forum.

    Regards

    Starain


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, March 24, 2016 9:43 AM