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

Display a list of upcoming birthdays of Office 365 users using Microsoft Graph API

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

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

使用 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) 导致同样的错误。

问题:知道为什么我会收到此错误吗?我们如何才能让它正常工作?

奖金问题:是否可以直接查询即将到来的 15 岁生日的列表?

对不起哈罗德,但不幸的是,正如错误消息所说,目前不支持此功能。在幕后,Microsoft Graph 正在将数据请求分包给多个服务。虽然 Microsoft Graph 支持 within 服务分页,但它尚不支持跨服务分页(或展开)。这是我们将要处理的事情,但恐怕还没有预计到达时间。

不确定您是否找到了解决方法,但我们所做的(具有相同的要求)是我们能够从我们的本地 AD 映射自定义生日属性 -> 使用 DirSync 将其同步到 Azure AD 并且它然后成为扩展属性供我们拿起和使用。

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

仍在等待,但是,Microsoft Graph 目前不支持它。目前在微软积压中

如果您需要相同的功能,请在 Uservoice/ideas 页面上投票: