Кажется, это проблема кодирования.
Действительно, в этом случае выражение фильтра кодируется (что является по дизайну ), и Microsoft Graph возвращаетследующая ошибка:
{
"error": {
"code": "BadRequest",
"message": "Invalid filter clause",
//...
}
}
Кодировка может быть предотвращена, если аргумент params
передан как string
:
parameters = {'$filter': '''groupTypes/any(c:c+eq+'Unified')'''}
parameters_str = "&".join("%s=%s" % (k, v) for k, v in parameters.items())
r = graph_session.get(graph_endpoint + '/groups', params=parameters_str, headers=headers)
См. этот ответ длядругие варианты.