Iuj*_*ato 4 azure-active-directory microsoft-graph-api
我在使用 Microsoft Graph API 时遇到问题...目前我有一个 Web 应用程序,它使用通用 v2 端点与 Microsoft/Azure 进行 openid 集成。
我们正在尝试获取已登录的用户公司名称和工作信息。官方文档说我们需要向 MS Graph API 发出请求。
我们正在 Microft Graph Explorer 上测试它,但它似乎不起作用。
我们在我们的应用程序中选择了“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
Run Code Online (Sandbox Code Playgroud)
在用户/备注部分的MS 官方文档(https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference)中,它清楚地表明
"On reads, only a limited number of properties are returned by default. To read properties that are not in the default set, use $select"
这个文档过时了吗?我试图为开发人员争取 MS 支持,但他们回答说我应该在 Stack Overflow 上问这个问题......所以可能没有对开发人员的官方支持?真的可以从MS帐户中获取公司名称和职位吗?
提前致谢!
编辑.2。使用正确的编码更新屏幕截图。
此外,它是 MS 帐户而不是 Azure 帐户,因为我们的 Web 应用程序在公共 v2 端点上接受它们。
更新
文档是正确的,默认情况下我们只返回用户属性的一个子集:
如果您想要一组不同的属性,您可以使用$select
查询参数来请求它们。您在问题中提供的查询应该可以正常工作。例如,当我https://graph.microsoft.com/v1.0/me?$select=companyName
在Graph Explorer 中执行时(使用我的凭据登录后),我得到以下信息:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(companyName)/$entity",
"companyName": "MICROSOFT"
}
Run Code Online (Sandbox Code Playgroud)
关于 MSA 的更新
对 Microsoft 帐户 (MSA) 使用 Microsoft Graph 时,显示的属性有几个不同之处。由于 MSA 根据定义是个人/个人帐户,因此职位和办公地点等组织属性根本不适用。
归档时间: |
|
查看次数: |
3236 次 |
最近记录: |