我正在尝试获取此页面上列出的应用程序的列表:https://myapplications.microsoft.com/(必须通过AAD租户进行身份验证才能查看这些应用程序)。
我正在使用SPFx,并认为可以使用以下microsoft graph端点来做到这一点; https://docs.microsoft.com/en-us/graph/api/application-list
该端点似乎只返回自定义应用程序注册,而不返回其他应用程序,例如Microsoft Teams或Yammer。
我看到“所有应用程序”页面使用以下端点获取其列表; https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces-但不喜欢我的AAD令牌(401)。
有什么想法吗?
答案 0 :(得分:0)
通过使用浏览器的开发人员工具并跟踪所有请求,我发现它实际上使用了ID令牌。
然后我可以使用id_token调用API:
https://myapplications.microsoft.com/api/me/getExpandedAssignedWorkspaces
不是已发布的API,客户端ID为2793995e-0a7d-40d7-bd35-6968ba142197
的应用不是公共应用。因此,您可以使用OpenID Connect来获取ID令牌。
您需要生成如下所示的URL:
https://login.microsoftonline.com/{your_tenant_id}/oauth2/authorize?response_type=id_token&client_id=2793995e-0a7d-40d7-bd35-6968ba142197&redirect_uri=https%3A%2F%2Fmyapplications.microsoft.com&state={new_guid}&nonce={new_guid}
然后,您将可以使用开发人员工具查看id令牌。