我们如何使用图表根据电子邮件地址过滤登录 activity?

How do we filter the signin activity based on email address using graph?

我正在使用下图API

https://graph.microsoft.com/beta/users?$select=id,mail,displayName,signInActivity

这个returns数据如下图

"value": [
    {
        "mail": "somesample@gmail.com",
        "displayName": "Jhon Jhon",
        "id": "2a0e34d5-ca90-4500-9f09-efc23c33a2c7",
        "signInActivity": {
            "lastSignInDateTime": "2021-08-03T06:32:39Z",
            "lastSignInRequestId": "c11dbf8a-11e3-1111-96c4-114f7252d700",
            "lastNonInteractiveSignInDateTime": "2021-08-03T06:30:43Z",
            "lastNonInteractiveSignInRequestId": "11111bb0-8550-4ece-12f5-0b11a50ad100"
        }
    },

但是它有超过10k条记录,其中大约7k条记录没有signInActivity。那么我怎样才能只获取那些具有 'signInActivity' 并且还基于 'mail'

的记录

我在下面尝试过,但没有用。

 https://graph.microsoft.com/beta/users?$select=id,mail,displayName,signInActivity$filter=mail eq 'somesample@gmail.com'

错误

  {
"error": {
    "code": "BadRequest",
    "message": "Parsing OData Select and Expand failed: Term 'id,mail,displayName,signInActivity$filter=mail eq 'somesample@gmail.com'' is not valid in a $select or $expand expression.",
    "innerError": {
        "date": "2022-06-01T14:12:08",
        "request-id": "c88f2dc4-16f6-47cb-b4e2-44be451b2e06",
        "client-request-id": "c88f2dc4-16f6-47cb-b4e2-44be451b2e06"
    }
}

}

您必须在 $filter 之前使用 &(&符号)来分隔查询参数 selectfilter

https://graph.microsoft.com/beta/users?$select=id,mail,displayName,signInActivity&$filter=mail eq 'somesample@gmail.com'