我正在尝试为我们的租户检索Azure AD用户登录审核日志。为此,我正在使用[Microsoft的图形API] [1]
https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=createdDateTime ge 2019-10-08T09:00:00.0000000 and createdDateTime le 2019-10-08T09:12:00.0000000
在上述示例中,
我正在尝试根据查询选项$filter
过滤日志,在这里我尝试根据createDateTime
从日期2019-10-08T09:00:00.0000000到日期2019-10-08T09:12:00.0000000。
每次我都从当前时间获取记录并返回历史记录。这意味着,无论我提供的日期范围如何,它都会被忽略。
就此而言,当我应用任何OData(https://docs.microsoft.com/en-us/graph/query-parameters#odata-system-query-options)查询选项($top
,$orderby
等)时,API仍返回最新的审核日志,但没有查询选项似乎起作用。
这可能是由于许可还是许可?非常感谢您的帮助。
使用给定的日期范围,我应该能够获取这些范围之间的审核日志。
答案 0 :(得分:0)
它在我这方面可以正常工作,我认为它与权限无关。您可以在此处粘贴整个请求吗?
这是我的要求:
https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=createdDateTime le 2019-10-08T09:00:00.0000000Z&$top=1
您可以尝试一下。您可以使用microsoft graph explorer对其进行测试。
还有一件事情,我们应该使用/v1.0
而不是/beta
版本。
Microsoft Graph中/ beta版本下的API可能会更改。 不支持在生产应用程序中使用这些API。
答案 1 :(得分:0)
我终于找到了答案。我正在发送Url的查询选项部分的编码版本(HttpUtility.UrlEncode),而Graph API由于某些原因不喜欢。