Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
AdanHerrera
8 years agoExplorer | Level 3
Python API
I'm working with Python & API v2 I need the following information: If I have a shared folder with several users, is it possible to obtain a record of the users who have visited or downloaded the fi...
- 8 years ago
It looks like you have the right basic idea, but there are a few things to note:
- You have 'none' instead of 'None'.
- You can filter by category, which in this case would be 'dropbox.team_log.EventCategory.file_operations'.
- You can filter by time, which can be good as without a time filter you may have to parse through more events than desired.
- You need to check GetTeamEventsResult.has_more, and call back to team_log_get_events_continue if it's True.
So, for example, to look for file_download events from the past week, that might look like:
import datetime import dropbox access_token = '...' dbx_team = dropbox.DropboxTeam(access_token) account_id = 'dbid:...' time_range = dropbox.team_common.TimeRange( start_time=datetime.datetime.now() - datetime.timedelta(days=7)) def handle_events(events): print("Processing %s events..." % len(events)) for event in events: if event.event_type.is_file_download(): print(event) result = dbx_team.team_log_get_events( limit=1000, account_id=account_id, time=time_range, category=dropbox.team_log.EventCategory.file_operations) handle_events(result.events) while result.has_more: result = dbx_team.team_log_get_events_continue(result.cursor) handle_events(result.events) - 8 years ago1. No, unfortunately there isn't a way to filter by path across all members, but I'll pass this along as a feature request.
2. Also no, it's not possible to filter to a specific event type, but we'll consider this a feature request as well.
Greg-DB
Dropbox Community Moderator
8 years agoIt looks like you have the right basic idea, but there are a few things to note:
- You have 'none' instead of 'None'.
- You can filter by category, which in this case would be 'dropbox.team_log.EventCategory.file_operations'.
- You can filter by time, which can be good as without a time filter you may have to parse through more events than desired.
- You need to check GetTeamEventsResult.has_more, and call back to team_log_get_events_continue if it's True.
So, for example, to look for file_download events from the past week, that might look like:
import datetime
import dropbox
access_token = '...'
dbx_team = dropbox.DropboxTeam(access_token)
account_id = 'dbid:...'
time_range = dropbox.team_common.TimeRange(
start_time=datetime.datetime.now() - datetime.timedelta(days=7))
def handle_events(events):
print("Processing %s events..." % len(events))
for event in events:
if event.event_type.is_file_download():
print(event)
result = dbx_team.team_log_get_events(
limit=1000,
account_id=account_id,
time=time_range,
category=dropbox.team_log.EventCategory.file_operations)
handle_events(result.events)
while result.has_more:
result = dbx_team.team_log_get_events_continue(result.cursor)
handle_events(result.events)AdanHerrera
8 years agoExplorer | Level 3
Perfect.
1- In this case you are filtering by (account_id) and getting the events of a specific user, but we can do the same filtering for example by a folder and getting the events of the users in this path?
2- In the result I see this event EventType(u'file_download', FileDownloadType(description=u'Downloaded files and/or folders')), could it be programmed so that it only prints this type of events?
Thanks again, I hope I'm not asking a lot of questions
- Greg-DB8 years ago
Dropbox Community Moderator
1. No, unfortunately there isn't a way to filter by path across all members, but I'll pass this along as a feature request.
2. Also no, it's not possible to filter to a specific event type, but we'll consider this a feature request as well.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!