Upcoming changes to Exchange Web Services (EWS) API for Office 365 - microsoft-graph-api

Currently we are using EWS API with basic authentication to automate CRUD activities for outlook tasks and calendar items. NOT outlook mail (sending/retrieving messages/mails etc.)
Looking at the notice where the basic authentication will stop working by October 2020, i have started to explore the alternative which is moving to Microsoft Graph API.
But i noticed, there is not yet CRUD for tasks and calendar items under Outlook Mail.
I found the below while googling but seems is not working.
POST https://graph.microsoft.com/beta/me/outlook/tasks
POST https://graph.microsoft.com/v1.0/me/events
My question is, will the EWS with basic authentication affect the Outlook tasks and calendar events as well?
Why i don't see them in the Graph API explorer? they should be under Outlook Mail
I appreciate if you guys can give me insight
Thanks,
Adam

The authentication changes for EWS will impact all the API endpoints available under it on exchange online.
You can find documentation about CRUD operation for Outlook tasks here.
For the graph explorer make sure you click on "show more samples" in the bottom left corner to see everything.
For the events you have the right endpoint, you should switch to a get request to obtain them and check that you requested the proper permissions.

Related

Exchange OAuth settings in 3rd party apps don't allow you to reffer to specific folders in a mailbox

I am trying to configure a mailbox on Exchange Online to be used by our Deskpro ticketing system to manage several queues. The only way I could setup Deskpro to recognise different folders in the mailbox was to make the connection using EWS. MS said they would be deprecating EWS Basic Auth in October last year, does that mean my EWS connection via outlook.office365.com/EWS/Exchange.asmx is now authenticating through OAuth? It still works, I'm concerned MS will change something and it'll stop working.
I'd love to use the OAuth via Graph, but if I select that option in the Deskpro setup there's no way to identify individual folders for each queue to process meaning I'd have to have a separate mailbox for each queue requiring an Exchange Plan license for each!
Collin, yes there is an announcement made to deprecate EWS Basic auth (it was made quite some time earlier too) and move to modern auth/oAuth too - it will work for you. Also you know that no new investments are going to be made in EWS, so you wont get any new features. So keeping in that mind, you can use EWS modern auth/oAuth for a while, but i would recommend you to create plan to move to Microsoft Graph API - so that you can interact with all the existing features in EWS and connect with entire Microsoft Graph ecosystem's product/solutions as well.

Access to Microsoft eDiscovery with Microsoft Graph API

I'm trying to access to O365 (Security & Compliance) eDiscovery with Microsoft Graph API ?.. as far as microsoft flow does not allow it either.. any idea how to execute search contents or use Data subject requests with API ?
thank you
Unfortunately we do not have this capability available on Microsoft Graph. Please vote on this feature request on https://microsoftgraph.uservoice.com/ . I don't believe anyone has requested this yet so may need to create not vote up.

Office365 Graph API: Fetch Calendar Share Permissions

I'm trying to extract the share permissions for a Calendar through Microsoft Graph (or even the old Outlook REST API) but it seems that there is no Graph endpoint to get a calendar's sharing permissions.
When fetching a calendar's details, the closest I found was isShared on the Calendar resource - but that doesn't give me the full data I see from the Web UI:
Basically, trying to receive the equivalent of Google Calendar's ACL list.
Am I missing anything?
Since you cannot share the calendar through the graph api, or open a calendar from some other user that they shared with you, there is no point in showing the ACL.
You might have better luck using the Exchange Web Service (or EWS) they do have those properties on folders. https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/folders-and-items-in-ews-in-exchange
Or if you really need it in the graph api (since the EWS is no longer the recommended way to talk to Office 365) you can create a ticket on UserVoice (if it doesn't exist already).

Using graph with on site exchange server

My current project uses the EWS proxy API. I'd like to bring the code we utilize in EWS up to date and was thinking about importing the full EWS API. But I'm kind of wondering if Graph is a possible/better choice. We only have an on site exchange server, no hybrid or Office 365 stuff. We use EWS to grab emails from a specific folder and process them into a database. If Graph can handle on site only server tasks as good as or better than EWS would it be better to use Graph?
The Microsoft Graph does not support on-premises versions of Exchange. There is planned work to support hybrid scenarios, but if you are not connected to Azure AD/Office 365 you won't be able to use it when it is supported. You will have to continue to use EWS API.

how to get all tasks from outlook with Microsoft Graph or Office 365 REST API?

I am building a web application that needs to fetch all tasks from an organization that uses Outlook Task. Can this be done with Microsoft Graph or Office 365 REST API?
I haven't found any calls in the documentation of either services that would do something similar to that: https://outlook.office.com/api/v2.0/tenant/tasks
Should I find another approach or is it something that is doable?
Outlook Tasks is available in Preview on Microsoft Graph today:
GET /users/{id|userPrincipalName}/outlook/tasks (Graph Explorer example)
I'm afraid I don't have an ETA for when this will be generally available at the moment. According to the Change Log this functionality was added in April so it is still a somewhat recent addition.
This functionality is also available as part of the Office 365 REST API.
If you're looking for something production ready today, you may need to use this API instead. If possible, I would suggest waiting for Graph. Graph is where all future engineering energy will be focused and is the best long-term integration play.

Resources