我有一个Office JavaScript外接程序.我们处理我们自己的许可证工作流程。工作流的一部分是使用office-js-helpers来处理Microsoft。用户使用Microsoft端点登录,我们收到一个访问令牌,发送到https://graph.microsoft.com/v1.0/me以检索用户数据。有些用户是单独的Microsoft用户,另一些用户是组织的一部分。
最近,我注意到没有提供givenName字段,它导致了摄入方面的错误。我发现很难设计一个模式来处理来自MS图的用户数据,因为我还没有看到任何可能对me请求的响应的模式信息。
有人能帮我指出MS列出了它的图形请求的明确模式吗?这种信息有请求URI吗?
发布于 2018-10-09 10:45:06
可以通过指定odata=fullmetadata JSON控制电平来确定底层对象模式,如下所示:
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。
Url: https://graph.microsoft.com/v1.0/$metadata
Method: Get其中,microsoft.graph.user实体模式可以在Schema元素下Namespace="microsoft.graph"下找到:
<EntityType Name="user" BaseType="microsoft.graph.directoryObject" OpenType="true">
<Property Name="accountEnabled" Type="Edm.Boolean" />
<Property Name="ageGroup" Type="Edm.String" />
<Property Name="assignedLicenses" Type="Collection(microsoft.graph.assignedLicense)" Nullable="false" />
<Property Name="assignedPlans" Type="Collection(microsoft.graph.assignedPlan)" Nullable="false" />
<Property Name="businessPhones" Type="Collection(Edm.String)" Nullable="false" />
<Property Name="city" Type="Edm.String" />
<Property Name="companyName" Type="Edm.String" />
<Property Name="consentProvidedForMinor" Type="Edm.String" />
<Property Name="country" Type="Edm.String" />
<Property Name="department" Type="Edm.String" />
<Property Name="deviceKeys" Type="Collection(microsoft.graph.deviceKey)" Nullable="false" />
<Property Name="displayName" Type="Edm.String" />
<Property Name="employeeId" Type="Edm.String" />
<Property Name="givenName" Type="Edm.String" />
...
</EntityType>https://stackoverflow.com/questions/52705448
复制相似问题