如何对identityRiskEvents graph api使用createdDateTime过滤器?

时间:2018-05-31 17:20:27

标签: office365 azure-active-directory microsoft-graph

现在我正在使用$ url =" $ url =" https://graph.microsoft.com/beta/identityRiskEvents?"查询beta identityRiskEvents Graph api。我可以通过@ odata.nextLink'并检索所有事件ID。但看起来它可以达到$ skip = 5100然后就失败了。

所以我正在寻找带有createdDateTime或此网址中提到的任何其他属性的过滤器查询https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/identityriskevent

尝试了解这些内容如何与powershell一起工作,即Invoke-WebRequest。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

使用$ filter查询参数仅检索集合的子集。请参阅:Use query parameter with Microsoft Graph API

答案 1 :(得分:0)

在您的情况下,您需要在$ filter之前使用转义字符,或者在反引号之前使用它来删除最新的字符并使美元符号用作字符$而不是变量起始标记...

如果要将$ filter传递给在美元符号前加反引号。因为您需要将该$标记传递到url,并且如果仅放置$ filter,则$将被删除,因为它是变量标记的开始,并且如果您没有名为$ filter的变量,那么您将不会得到任何输出空变量...

您可以自行测试编写文本文件,并在其中附加一个美元符号。 如果您将其设为`$ filter,它将作为$ filter ...

您需要删除该美元的特殊含义,并告知应将其作为没有特殊性的静态美元来处理。

接下来是经过验证的可能的网址过滤器。

# Select 1 record:
$url = "https://graph.microsoft.com/beta/identityRiskEvents?`$top=1"

# Select by createdDateTime yyyy-MM-dd
$url = "https://graph.microsoft.com/beta/identityRiskEvents?`$filter=createdDateTime ge XXXX-XX-XX"

# Select by user account
$url = "https://graph.microsoft.com/beta/identityRiskEvents?`$filter=userPrincipalName eq 'username@domainsuffix'"

# Select by user and createdDateTime
$url = "https://graph.microsoft.com/beta/identityRiskEvents?`$filter=userPrincipalName eq 'username@domainsuffix' and createdDateTime ge xxxx-xx-xx"