Issues with Microsoft Graph-DeltaQuery And Subscription Mechanism

Sakti Mohapatra 41 Reputation points
2020-10-28T22:01:58.157+00:00

Hi All,

The idea is to integrate OneDrive with an WEB APP, so that when a user Create/Update content in OneDrive, those content should get updated in the WEBAPP.

To achieve this, we have created an AZURE APP and achieved the requirement using Outlook Alert through IMAP. So when a user create or update the content, He must share it with the Service ID so that we will have an email alert and trigger the endpoint to update the content in WEB APP.

But the intent is to, Use the streaming mechanism without any click. We are planning to make use of Subscription and Delta-Query model so that whenever there is a change in content in OneDrive by user the content should get automatically updated in WEBAPP (intent is to remove the email mechanism)

While implementing the Subscription and Delta-Query model, we are end up with known issues with Microsoft Graph
Delta query
-OData context is sometimes returned incorrectly when tracking changes to relationships.(This is we are we are facing issue)
-Schema extensions (legacy) are not returned with $select statement, but are returned without $select. (We are facing this issue)
-Clients cannot track changes to open extensions or registered schema extensions.
Files (OneDrive)
-First time access to a user's personal drive through Microsoft Graph before the user accesses their personal site through a browser leads to a 401 response.

Query parameter limitations
-Multiple namespaces are not supported.
-GETs on $ref and casting is not supported on users, groups, devices, service principals and applications.
-@odata.bind is not supported.
-@odata.id is not present on non-containment navigations (like messages) when using minimal metadata.
-$expand:
--No support for nextLink
--No support for more than 1 level of expand
--No support with extra parameters ($filter, $select)
-$filter:
--/attachments endpoint does not support filters. If present, the $filter parameter is ignored.
--Cross-workload filtering is not supported.
-$search:
--Full-text search is only available for a subset of entities such as messages.
--Cross-workload searching is not supported.

We already have the Azure APP running fine in Multitenant mode where GrpahAPI is used as mentioned before.

1- Can someone please suggest or guide if Subscription/Deltaquery model of Graph API is good enough for this solution or we need to look at any hybrid approach?
2- Can someone please give a pointer for a working solution in Github for GRAPH API with Subscription/Deltaquery model implementation (PYTHON ONLY)?

Appreciate any help.

Thanks
Sakti

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
11,437 questions
{count} votes