Settings

Theme

Show HN: Use GraphQL to Query Exchange, AAD, OneDrive and More

graphql-demo.azurewebsites.net

22 points by dpim 8 years ago · 6 comments

Reader

dpimOP 8 years ago

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.

Here is the repo if you'd like to self-host the service: https://github.com/microsoftgraph/msgraphql-demo

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: https://officespdev.uservoice.com/forums/224641-feature-requ...

I'm happy to answer questions about Microsoft Graph or the implementation of this project.

peternicky 8 years ago

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).

  • dpimOP 8 years ago

    I hear you. This was a fun project to adapt an existing standard (OData) to be compatible with GraphQL and get a sense of what that looks like over a really big API (hundreds of types, thousands of facets). Part of this is also to see whether as a developer, it makes integrating with Microsoft Graph easier or faster. I'd love to hear your thoughts.

PaulHoule 8 years ago

Got documentation for this?

  • dpimOP 8 years ago

    In Graphiql, you can use the docs panel on the right to expand the available resources and properties they contain.

    Here is more in-depth API documentation of Microsoft Graph (the underlying API): https://developer.microsoft.com/en-us/graph/docs/concepts/ov...

    If you're looking for documentation on the tooling itself, the repo has an overview of how this works and I can provide further context.

Hongbo-Miao 8 years ago

Looks awesome!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection