获取Microsoft Graph请求的明确架构信息

时间:2018-10-08 15:22:16

标签: ms-office microsoft-graph office-js

我有一个Office JavaScript加载项。我们处理自己的许可证工作流程。工作流程的一部分是使用 office-js-helpers 处理Microsoft日志记录。用户使用Microsoft端点登录,我们收到一个访问令牌,该令牌将发送到https://graph.microsoft.com/v1.0/me以检索用户数据。一些用户是单独的Microsoft用户,其他用户是组织的一部分。

最近,我注意到没有提供givenName字段,这会导致提取错误。我发现很难设计一种模式来处理来自MS Graph的用户数据,因为我没有看到任何针对me请求的可能响应的模式信息。

有人可以指出我MS为其Graph请求列出明确架构的地方吗?是否存在此类信息的请求URI?

1 个答案:

答案 0 :(得分:1)

可以通过指定odata=fullmetadata JSON control level来确定基础对象架构,如下所示:

Url: https://graph.microsoft.com/v1.0/me
Method: Get
Headers
   Accept: application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false

返回所包含对象的类型名称odata.type注释),如果端点为https://graph.microsoft.com/v1.0/me,则为#microsoft.graph.user

然后通过Microsoft Graph API metadata endpoint

Url: https://graph.microsoft.com/v1.0/$metadata
Method: Get

microsoft.graph.user的{​​{1}}元素下可以找到Schema实体模式:

Namespace="microsoft.graph"