AnsweredAssumed Answered

Using REST API to get User Activity

Question asked by Ben McMurry on Feb 20, 2020
Latest reply on Mar 18, 2020 by chris@aspiredu.com

I've searched and couldn't find what I've been looking for, so I hope this isn't a duplicate. 

I need a report of student activity for all students enrolled in a course in a term. I'm not really a programmer, but I've ben able to create an LTI and use REST APIs for other tasks, so please forgive my ignorance on terminology and what not.

 

Thus far, I can't find an endpoint that gets what I'm looking for. This is the only workflow that I can come up with, but it seems really messy. I'm hoping someone on here has a better idea.

 

First I use https://domain.instructure.com:443/api/v1/accounts/1/courses?enrollment_term_id=57 to get the courses for the term.

 

Second, I loop through https://domain.instructure.com:443/api/v1/courses/COURSE_ID_HERE/enrollments?type[]=StudentEnrollment to get a list of all students enrolled in each course.

 

Third, I loop through every user with https://domain.instructure.com:443/api/v1/users/USER_ID_HERE/page_views?start_time=START_DATE_HERE&end_time=END_DATE_HERE to see page views

 

Basically, I just want to get a list of users who used canvas on a given date or range of dates. I don't really care what pages they looked at. I did try just getting login events and that was great accept it didn't account for those who stayed logged in across days or those that were using the mobile app. 

 

If someone could point me to the correct endpoint, that would be excellent.

Outcomes