使用Microsoft Graph API无法获得超过基本用户信息的信息

时间:2019-06-12 21:01:46

标签: sharepoint microsoft-graph spfx

遵循https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial#DeploymentAndPermissionsGrant上的说明,当我尝试检索除基本字段以外的任何内容时,我的SharePoint Web部件遇到错误。

例如,调用有效:

  

https://graph.microsoft.com/v1.0/users?$ select = displayName,mail,userPrincipalName

但是,调用导致501 Not Implemented异常`,说明“尚不支持此操作目标。”

  

https://graph.microsoft.com/v1.0/users?$ select = displayName,mail,userPrincipalName,hireDate

在我的package-solution.json中:

"webApiPermissionRequests": [
  {
    "resource": "Microsoft Graph",
    "scope": "User.Read.All"
  }
]

调用脚本非常简单,即:

this.context.msGraphClientFactory
  .getClient()
  .then((client: MSGraphClient): void => {
    // From https://github.com/microsoftgraph/msgraph-sdk-javascript sample
    client
      .api("users")
      .version("v1.0")
      .select("displayName,mail,userPrincipalName,hireDate")

我已经通过/_layouts/15/online/AdminHome.aspx#/webApiPermissionManagement页批准了访问权限:

enter image description here

更新:我也尝试更新我的“ package-solution.json to use the value Microsoft.Azure.AgregatorService rather than Microsoft Graph”,但是在尝试批准API管理页面上的权限(如上屏幕截图)时,出现此错误:

  

[HTTP]:400-[CorrelationId]:5134e69e-f000-8000-b901-2a4b8bab60b8 [版本]:16.0.0.8929-找不到名称为Microsoft.Azure.AgregatorService的服务主体。    参数名称:resourceName

我也没有看到我在SharePoint Online客户端可扩展性下所批准的权限-Azure门户中的权限(不确定是否应该,但是我只想提及它!)。

enter image description here

这是我的request-id,如果它可以帮助Microsoft的某人找出可能发生的情况!

  

ed3ff30c-d552-462e-be70-c69a19275049

1 个答案:

答案 0 :(得分:0)

Microsoft已回复我的支持通知单,指出返回多个用户时,无法检索某些字段,例如生日和雇用日期。当请求单个用户时,这些字段将在响应中可用。