在 GET /beta/users/<user_id>/chats/getAllMessages 上应用过滤器失败

Apply filter on GET /beta/users/<user_id>/chats/getAllMessages fails

你好,端点有一个电话:

https://graph.microsoft.com/beta/users/<user_id>/chats/getAllMessages?$filter=lastModifiedDateTime gt 2021-07-18T00:00:00.000Z

使用以下代码:

url = '%sbeta/users/%s/chats/getAllMessages?$filter="lastModifiedDateTime gt %sT00:00:00.000Z"' % (ms_api_url, user_id, before7days.strftime("%Y-%m-%d"))
response = requests.get(url,
                headers = {
                    'Authorization': 'Bearer %s' % access_token
                }).json()

但我收到以下错误:

{
  'error': {
    'code': 'BadRequest',
    'message': 'Invalid filter clause',
    'innerError': {
      'date': '2021-07-25T09:04:49',
      'request-id': '590c724f-e161-44de-a8d9-a011dec40b6e',
      'client-request-id': '590c724f-e161-44de-a8d9-a011dec40b6e'
    }
  }
}

我做错了什么?

根据 docs,此 API 支持日期范围。因此,要让它为您工作,您还需要通过添加 lt 运算符来添加日期范围。下面是一个例子。

users/{user-id | unpn}/chats/getAllMessages?$filter=lastModifiedDateTime gt 2021-07-18T00:00:00.000Z and lastModifiedDateTime lt 2021-07-19T00:00:00.000Z 

请注意,我已将 和 lastModifiedDateTime lt 2021-07-19T00:00:00.000Z 添加到附加的 API 调用中。