Course specific Page Views

Jump to solution
Community Member

Hey! I'm trying to manually get the page views of a specific course. I'm working with the Canvas API module for Python. 

I'm first requesting the students of a course (whose enrollment type is "student"), and then iterate through that students list, to get the page views for each student whose URL contains the fragment "course/" (this could also be done by establishing a condition based on the view.links, regarding the context in which the interaction take place, which is the course ID). 

The problem I've got is that these requests are really slow to process, given that the number of page views that a user has, is a lot, and I have to go through the Paginated List. I've seen Canvas Analytics (and New Analytics), but it's not enough for my purposes, because I want to check the type of interaction of a specific user, and also be able to delete duplicated clicks (same click, at the same timestamp). 

Is there a way I can access all the page views that ocurred on a specific course, including information such as their context, timestamp, or url? 

Also, when navigating through Paginated Lists. Which is the fastest approach, regarding the per_page parameter? I know it is set by default to 10 views by page, but I'm afraid this makes a lot of requests to the API, specially when a user has a lot of page views.

Any guidance of how to access the Page Views of a course effectively, is really appreciated. 
Thanks in advance! 

Labels (2)
2 Solutions
Community Contributor


If you don't need up to the minute data, then I would suggest using Canvas Data. This is the table containing user click/view data:


View solution in original post


It's "web_logs" in Canvas Data 2. Please note, Canvas Data 2 only retains data from the last 30 days

View solution in original post