I built this demo during Microsoft's internal hackathon, Oneweek, to show what GraphQL querying of the Microsoft Graph API could look like. While not all GraphQL functionality is currently implemented (namely support for pagination, data mutations), I think it's quite cool to be able to request resources from different services in a single request (eg. fetching my recent emails, OneDrive files, users in my org). The gist of how this works: the tooling translates an OData schema into a GraphQL schema and code generates resolvers for each field.<p>Here is the repo if you'd like to self-host the service:
<a href="https://github.com/microsoftgraph/msgraphql-demo" rel="nofollow">https://github.com/microsoftgraph/msgraphql-demo</a><p>We're interested in your feedback about integrating with Microsoft Graph using GraphQL. To share your thoughts and scenarios, please leave a comment on UserVoice: <a href="https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/16819672-graphql-api-for-the-microsoft-graph" rel="nofollow">https://officespdev.uservoice.com/forums/224641-feature-requ...</a><p>I'm happy to answer questions about Microsoft Graph or the implementation of this project.
Cool, however, to realize the full benefits of GraphQL, proper resolvers need to be implemented that are connected directly to a data store. This is just a wrapper around a conventional REST endpoint, which allows for easier querying but not much else (when considering the trade offs).