Мне нужно получить все данные о пользователях, которые не совершали никаких действий или не входили в учетную запись box.com более 60 дней. Есть ли какой-либо API или способ сделать это?
Получить всех пользователей, которые не заходили на box.com более 60 дней.
Ответы (2)
Предполагая, что вы являетесь администратором своего предприятия Box, это возможно с помощью API. Однако вы должны сделать это в три шага, и это потребует некоторой работы на стороне клиента.
1. Сначала получить список всех корпоративных пользователей, как вы уже делаете сейчас:
curl https://api.box.com/2.0/users
-H "Authorization: Bearer ACCESS_TOKEN"
В зависимости от количества пользователей на вашем предприятии вам нужно будет повторить этот вызов с увеличением параметра offset
, чтобы получить их всех. См. документы для более подробной информации.
2. Затем получите список все корпоративные события, произошедшие за последние 60 дней:
curl https://api.box.com/2.0/events?stream_type=admin_logs
&created_after=2014-05-07T00:00:00-08:00
-H "Authorization: Bearer ACCESS_TOKEN"
Как и в случае со списком пользователей, этот список событий потенциально может быть довольно длинным. Скорее всего, вам придется повторить этот вызов несколько раз с увеличением stream_position
. Опять же, документы объясняют это более подробно.
3. На этом этапе у вас есть список корпоративных User и список корпоративных объектов Event. Объект Event имеет свойство created_by
, которое соответствует пользователю, выполнившему действие. Отдельный набор значений created_by.id
предоставит вам идентификатор каждого пользователя, который был активен за последние N дней — мы назовем этот список active_user_ids
. Затем вы можете отфильтровать объекты User для любого идентификатора, который не отображается в этом списке. Это ваши неактивные пользователи. Как псевдокод:
foreach user in users
if active_user_ids does not contain user.id
print "user.name has been not been active for at least 60 days"
else
print "user.name has been active within the last 60 days"
Примечание. В зависимости от количества и активности пользователей на вашем предприятии сбор списка событий займет значительное время. Рассмотрите возможность использования параметра строки запроса event_type
, чтобы ограничить типы событий только теми, которые вам действительно интересны.
На шаге 2 приведенного выше решения я считаю, что есть способ получить только события LOGIN. В противном случае список событий может быть довольно большим!