问题标签 [msgraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 哪个资源将用于记录使用 Graph API 的应用程序保护策略?
我想使用 powershell 记录来自 Intune 的所有应用保护策略。
MS Graph REST API 将使用相同的资源。
笔记。我不想使用任何 powershell 模块,我直接访问 GRAPH API。
c# - 通过 Graph api 检索分配给应用程序的应用程序角色时获得不一致的结果
相关软件包版本:
- Microsoft.EntityFrameworkCore:3.1.9
- Microsoft.Graph:3.28
我将用几个例子来说明不一致的地方:
使用 powershell 脚本检索组
此处提供了获取组的脚本:显示分配给应用程序代理应用程序的用户和组 。
返回的唯一组:157
备注:组数和对象 id 对应于我可以在Azure 门户上的Azure Active Directory刀片上看到的那些,因此我将其用作其他方法的参考。
使用 App Id 通过 .NET 核心获取组
返回的唯一组:101
备注:我无法确定为什么某些组没有返回。为了确认权限问题不是造成差异的原因,我尝试使用缺失组的 objectIds 手动检索组,如下所示:
我能够使用这种方法成功检索丢失的组。
使用服务主体通过 .NET 核心获取组
为了通过,我将 appId 方法与依赖于服务主体的方法进行了如下交换,但结果与 AppId 相同。
返回的唯一组:101
通过使 powershell 脚本适应 .NET 来检索组
这里的方法是遍历所有组,然后过滤具有正确服务主体 ID 的组。
返回的唯一组:136
不同寻常的是,虽然我能够使用这种方法检索更多组,但它实际上无法检索通过App Id/Service 主体方法获得的某些组。将两者加起来,总共有146个
由于保密原因,很遗憾,我无法透露组的具体信息或各自的内容,但每个缺失的组都有成员,并且至少分配了一个AppRole。
security - how can I get more details about security alert received vie Microsoft Security Graph API?
I'm using Security Graph API to get alerts into SIEM. And some of the alerts I get have very little amount of details. Here is the example, with some information edited, but all fields are present:
In short, the only information I can see is that the user generated some "anomalous token" from some specific IP. But I'd like to see the hostname used, what were the token details, why it was anomalous, etc.
I can see similar alerts almost empty about failed authentication attempts (azure AD), suspicious mail forwarding rule creation (Exchange), etc - all without significant details. How can I get them? Or perhaps - how should I reconfigure the Graph or data sources, to allow Graph to get access to the details?
azure-active-directory - 使用 Microsoft Graph API v1.0 评估动态成员资格
目前 Graph beta api 具有https://graph.microsoft.com/beta/groups/evaluateDynamicMembership端点来评估动态成员资格。
是否有任何其他方式或机制可以使用 graph api v1.0 检索相同的会员数据?
microsoft-graph-teams - ms graph api中实体ID的含义是什么(添加共享点选项卡)
我正在使用 ms graph api 将共享点页面添加到 ms 团队选项卡。首先我手动设置了一个带有 sp 页面的选项卡,然后在 ms graph explorer 中获取它:
我想使用上述信息通过 ms graph post 端点创建一个新选项卡:https ://docs.microsoft.com/en-us/graph/api/channel-post-tabs?view=graph-rest-1.0
但我不知道如何填写“entityid”。你能帮助我吗?
azure-active-directory - 身份验证 MSGraph 回调失败
所以我已经建立了一个带有 API 的整个门户来连接到 MSGraph,到目前为止,我能够让它为我自己的组织工作,问题是我现在正在测试一个组织必须如何设置才能让 MSGraph 运行. 出于某种原因,每当我尝试进行身份验证时,一切正常运行的可能性很小,但大多数情况下它在我登录后失败,因为它总是在回调中发送失败重定向。
所以我想知道为什么它在这个回调中失败以及我如何捕捉到错误。
这是我的回调方法的代码:
我不知道为什么它不适用于其他组织。
对此有什么想法吗?
提前致谢!
java - 如何使用 MS GraphService 客户端使用访问令牌进行身份验证
我正在尝试构建一个客户端系统,该系统在 Outlook 中获取用户电子邮件的收件箱。要求是系统应该要求用户通过 Outlook 登录一次以进行身份验证,并且它应该能够在没有任何登录提示的情况下通过图形 API 获取电子邮件和其他操作,如回复、转发等。为此,我尝试使用 MS Graph SDK 并选择了相同的授权代码流。我按照以下步骤
我已将此授权代码存储到数据库并使用以下代码段进行授权。
- 这在第一次通过用户交互获取获取的授权代码时有效,但是当重复使用相同的代码以避免用户交互时,它会抛出以下内容
AADSTS54005:OAuth2 授权代码已兑换,请使用新的有效代码重试或使用现有的刷新令牌。
这是否意味着要使此流程正常工作,我必须要求我的用户每次都登录以通过图形客户端进行单个 API 调用。有什么方法可以使用在 AuthorizationCodeCredential 中获得的访问代码并将其与 GraphServiceClient 一起使用,以使用 SDK 访问 microsoft Graph API。将非常感谢任何形式的帮助。谢谢你
azure - 使用 Az Powershell 7.1.0 在 Azure 应用注册中设置 preAuthorizedApplications 的问题
我在从 Az powershell 7.1.0 自动设置 Azure 应用注册的 preAuthorizedApplications 时遇到问题。代码正在过渡到 MS Graph api,但我不清楚 preAuthorizedApplications 的语法。我在网上找到的所有东西,我都试过了。但是没有任何效果并且不断出错。
我创建了一段测试代码和一个测试应用注册:
Get-AzADApplication -ApplicationId 956afe7b-f58f-4de5-83ea-02035cc98b3f # 只是为了获取类型
$PreAuthPrem1 = 新对象 -TypeName "Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPreAuthorizedApplication" $PreAuthPrem1.AppId = "1fec8e78-bce4-4aaf-ab1b-5451cc387264" $PreAuthPrem1.DelegatedPermissionId = "d3a943ac -ea3b-4271-b750-abcd91b01162"
更新-AzADApplication -ApplicationId 956afe7b-f58f-4de5-83ea-02035cc98b3f -api @{"preAuthorizedApplications" = $PreAuthPrem1} -debug
它一直给我同样的错误,这不是很有帮助:
线 | 第549章 Az.MSGraph.internal\Update-AzADApplication @PSBoundParameters | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ | 有效负载中的属性 preAuthorizedApplications 具有与架构不匹配的值。
对 MS 图的请求如下(取自调试命令)
调试:============================= HTTP请求================== ==========
HTTP 方法:补丁
绝对 Uri: https ://graph.microsoft.com/v1.0/applications/ccd14ce8-1afe-45b3-a461-777d3129399b
标头:x-ms-unique-id:6 x-ms-client-request-id:cb41d352-4b67-4142-8795-9b77bf9b057a 命令名:Az.MSGraph.internal\Update-AzADApplication FullCommandName:Update-AzADApplication_UpdateExpanded ParameterSetName:__AllParameterSets User -代理:AzurePowershell/v0.0.0,Az.MSGraph/5.2.0
正文:{“api”:{“preAuthorizedApplications”:“{\r\n“appId”:“1fec8e78-bce4-4aaf-ab1b-5451cc387264”,\r\n“delegatedPermissionIds”:[“d3a943ac-ea3b-4271- b750-abcd91b01162" ]\r\n}" } }
我发现文档说它应该是委派的PermissionIds,但也应该是permissionIds。两者都不适合我
https://docs.microsoft.com/en-us/graph/api/resources/preauthorizedapplication?view=graph-rest-1.0
它还尝试了其他方法将正文设置为不包含特殊字符,但所有内容都不断给出相同的错误。
还更新了 az powershell(到 7.1.0)和 powershell 本身(7.2.1 核心)
还尝试了 azure ClI
$appObjectId='956afe7b-f58f-4de5-83ea-02035cc98b3f'
az rest -m PATCH -u https://graph.microsoft.com/v1.0/applications/$appObjectId --headers Content-Type=application/json -b '{"api":{"preAuthorizedApplications":[{ "appId":"1fec8e78-bce4-4aaf-ab1b-5451cc387264","permissionIds":["d3a943ac-ea3b-4271-b750-abcd91b01162"]}]}}'
错误请求({"error":{"code":"BadRequest","message":"无法读取 JSON 请求负载。请确保设置了 Content-Type 标头并且负载是有效的 JSON 格式。","innerError" :{"日期":"2022-01-31T06:23:44","request-id":"2ac51323-4f9b-4da8-8ec8-1187e4b73a59","client-request-id":"2ac51323-4f9b-4da8 -8ec8-1187e4b73a59"}}})
看起来同样的问题
azure-ad-graph-api - Graph 的 API bitlocker/recoveryKeys 调用每次调用返回的密钥少于少数
我一直在关注几个解决方案来使用 MS Graph API 检索 Azure AD 注册的 BitLocker 密钥列表。我正在使用的代码是:
现在一切正常,但是当密钥到来时(总共不到 5,000 个)我意识到每次调用只带回几个密钥,我似乎无法找到一种方法来强制服务器端分页到一个合理的值(比如每次通话几千个键)。有关前 30 个键,请参见下面的输出:
钥匙 | 时间流逝 |
---|---|
1 | 00:00:13.343 |
5 | 00:00:24.452 |
6 | 00:00:31.984 |
10 | 00:00:40.765 |
14 | 00:00:49.171 |
18 | 00:00:56.577 |
22 | 00:01:03.937 |
27 | 00:01:12.468 |
30 | 00:01:20.218 |
这意味着下载 5k 个密钥大约需要 2 个小时,这几乎与逐个查询每个设备一样糟糕,这违背了在第一个实例中使用“/informationProtection/bitlocker/recoveryKeys”方法的目的。列表中只有一个调用返回了 200 个键,耗时 8 秒,这告诉我经过的时间不取决于返回的键数。因此,使此方法有效的唯一方法是强制同时返回数百个键。如何强制 API 每次调用返回数百或数千个密钥?
powershell - MSGraph OData 过滤空集合
我正在使用 MS powershell 模块来处理 MsGraph,但是在提供过滤器时,同样的规则/原则适用于你通常只放入 http 查询字符串的内容。
我有以下工作正常并列出了所有 365groups 的团队:
我想要实现的,而不必拉所有组然后在本地过滤,基本上与上述相反,如下所示:
但是因为我是针对一个集合这样做的,所以它会抛出。
现在我已经尝试了所有我想到的方法来让它工作,我尝试寻找一组运算符,如果 resourceProvisioningOptions 作为集合为空/空,它们可以有效地过滤。但是我尝试的任何方法都行不通,我似乎只是遇到了错误。有人有想法么?
谢谢,汤姆