使用Microsoft Graph API

时间:2016-06-11 11:30:27

标签: office365 microsoft-graph

使用Microsoft Graph API,我想创建所有Office 365用户的生日列表,但我目前无法获得具有相关属性的用户列表。

要设置此列表,我需要通过Graph API公开以下属性:

  • ID
  • 的displayName
  • 的UserPrincipalName
  • 生日

使用图形资源管理器https://graph.microsoft.io/en-us/graph-explorer,我试图请求我自己的属性(graph.microsoft.com/v1.0/Me/?$select=id,displayName,userPrincipalName,birthday) :

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,displayName,userPrincipalName,birthday)/$entity",
    "id": "aaaaaaaa-bbbbb-ccccc-a3c6-63817c4bbbca",
    "displayName": "Harold van de Kamp",
    "userPrincipalName": "harold@company.com",
    "birthday": "2000-08-15T00:00:00Z"
}

当我查询所有用户(graph.microsoft.com/v1.0/Users)时,这也有效,但不包含所有必需的属性

但是当我查询具有所需属性的所有用户(graph.microsoft.com/v1.0/Users/?$select=id,displayName,userPrincipalName,birthday)时,我收到以下错误:

{
    "error": {
        "code": "InternalServerError",
        "message": "This operation is not yet supported.",
        "innerError": {
            "request-id": "06a7b9c9-2fcd-4f26-a86c-fe9704a35a1e",
            "date": "2016-06-11T11:15:45"
        }
    }
}

查询测试版API(graph.microsoft.com/beta/Users/?$select=id,displayName,userPrincipalName,birthday)会导致同样的错误。

问题:我知道为什么会出现此错误,我们如何才能解决此问题?

加分问题:是否可以直接查询即将到来的15个生日列表?

4 个答案:

答案 0 :(得分:2)

抱歉Harold,但遗憾的是,正如错误消息所示,目前不支持此功能。在幕后,Microsoft Graph正在将数据请求分配给多个服务。虽然Microsoft Graph确实支持服务中的分页,但它还不支持跨服务的分页(或扩展)。这是我们将要开展的工作,但我还不担心ETA。

答案 1 :(得分:1)

解决方法可能是单独访问该属性: https://graph.microsoft.com/v1.0/users/<id_or_principle_name>/birthday

答案 2 :(得分:0)

不确定您是否找到了解决方法,但我们所做的(具有相同要求)是我们能够从我们的内部部署AD映射自定义生日属性 - &gt;使用DirSync将其同步到Azure AD,然后它成为我们接收和使用的扩展属性。

答案 3 :(得分:0)