首页 文章

使用Microsoft Graph API显示即将到来的Office 365用户生日列表

提问于
浏览
5

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

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

  • id

  • displayName

  • userPrincipalName

  • 生日

使用Graph Explorer,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"
        }
    }
}

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

Question :我知道为什么会出现这个错误,我们怎么能让它工作?

Bonus question :是否可以直接查询即将到来的15个生日列表?

3 回答

  • 2

    对不起Harold,但不幸的是,正如错误消息所示,目前不支持此功能 . 在幕后,Microsoft Graph正在将数据请求分配给多个服务 . 虽然Microsoft Graph确实支持服务中的分页,但它并不害怕 .

  • 1

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

  • 0

    不确定您是否找到了解决方法,但我们做了什么(具有相同的要求)是我们能够从我们的内部部署AD映射自定义的Birthday属性 - >使用DirSync将其同步到Azure AD,然后它成为扩展属性让我们拿起并使用 .

相关问题