Azure active directory 无法获取microsoft graph API上的用户公司信息

Azure active directory 无法获取microsoft graph API上的用户公司信息,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我在使用Microsoft Graph API时遇到问题。。。目前,我有一个web应用程序,它使用公共v2端点与Microsoft/Azure集成了openid 我们正在尝试获取已登录的用户公司名称和职务信息。官方文件说我们需要向MS Graph API发出请求 我们正在Microft图形浏览器上测试它,但它似乎不起作用 我们已在应用程序中选择“User.Read”作为权限,然后尝试以下端点: https://graph.microsoft.com/v1.0/me/ https://graph.

我在使用Microsoft Graph API时遇到问题。。。目前,我有一个web应用程序,它使用公共v2端点与Microsoft/Azure集成了openid

我们正在尝试获取已登录的用户公司名称和职务信息。官方文件说我们需要向MS Graph API发出请求

我们正在Microft图形浏览器上测试它,但它似乎不起作用

我们已在应用程序中选择“User.Read”作为权限,然后尝试以下端点:

https://graph.microsoft.com/v1.0/me/
https://graph.microsoft.com/v1.0/me?$select=companyName,jobTitle
https://graph.microsoft.com/v1.0/users/?$select=companyName,jobTitle
在MS Official doc()中的用户/备注部分中,它明确指出
“在读取时,默认情况下只返回有限数量的属性。若要读取不在默认集合中的属性,请使用$select”

这个文件过时了吗? 我曾试图联系微软对开发人员的支持,但他们回答说我应该在堆栈溢出上问这个问题。。。 那么可能没有官方对开发者的支持? 是否真的有可能从MS帐户中获取公司名称和职务

提前谢谢

编辑。使用MS graph explorer屏幕截图更新问题

编辑:2。使用正确的编码更新屏幕截图

此外,它是一个MS帐户而不是Azure帐户,因为我们的web应用程序在公共v2端点上接受这两个帐户

更新

我的目标是尝试从MSA帐户获取
工作信息部分。

文档是正确的,默认情况下,我们只返回以下内容的子集:

  • 身份证
  • 用户名
  • 显示名
  • 吉文纳姆
  • 职务
  • 邮寄
  • 手机
  • 商务电话
  • 办公地点
  • 首选语言
如果需要一组不同的属性,可以使用
$select
查询参数请求它们。您在问题中提供的查询应该可以正常工作。例如,当我执行
https://graph.microsoft.com/v1.0/me?$select=companyName
in(使用我的凭据登录后)我得到以下信息:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(companyName)/$entity",
    "companyName": "MICROSOFT"
}
关于MSA的更新


对Microsoft帐户(MSA)使用Microsoft Graph时,在显示哪些属性方面存在一些差异。根据定义,MSA是个人/个人账户,因此职位和办公地点等组织属性根本不适用

你犯了什么样的错误?我在和
https://graph.microsoft.com/v1.0/me/?$select=companyName,jobTitle
给了我很好的结果,尽管
companyName
null
(因为它是)。@ShawnTabrizi实际上,没有错误。。。尝试查询
https://graph.microsoft.com/v1.0/me/?$select=公司名称,作业‌​Title
我刚刚收到与
https://graph.microsoft.com/v1.0/me
,如果没有公司名称或职位(我的帐户中有这两个信息),您能快速显示屏幕截图吗?请确保隐藏任何敏感信息。@Shawntarizi我已经用屏幕快照更新了问题。我可以使用MSA帐户重现您的错误。它对我的AAD帐户有效。我已经用屏幕截图更新了问题,即使使用
$select
参数,我的graph explorer响应与
/me
端点相同。这看起来像是UTF编码问题。您是否碰巧将此粘贴到文本框中?如果您查看结果,它显示的是
job%E2%80%8C%E2%80%8bttitle
而不是
jobttitle
。抱歉,我确实粘贴了它,但这不是问题的根源。我用正确的编码截图再次更新了问题。正如@Shawn Tabrizi所指出的,这是一个MSA帐户而不是AAD帐户。好的,如果这是一个MSA帐户,那么几个属性将不可用。MSA是个人账户,因此不包含任何公司信息。哦,我明白了,所以我无法获取个人资料的“工作信息”部分?