Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
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/course.id" (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!
Solved! Go to Solution.
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: https://portal.inshosteddata.com/docs#requests
It's "web_logs" in Canvas Data 2. Please note, Canvas Data 2 only retains data from the last 30 days
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: https://portal.inshosteddata.com/docs#requests
hi @jerry_nguyen the table 'requests' only exists in Canvas Data 1. We are ingesting Canvas Data 2, in which the relevant table 'asset_user_accesses', containing similar info, is not exposed (https://data-access-platform-api.s3.eu-central-1.amazonaws.com/index.html#tag/asset_user_accesses).
Do you know how and where we can find the user's content view / participation data in Canvas Data 2?
Thank you very much!
It's "web_logs" in Canvas Data 2. Please note, Canvas Data 2 only retains data from the last 30 days
While looking around, it looks like this can be done for course specific items too though new analytics in a course: https://community.canvaslms.com/t5/New-Analytics-Users/Analytics-Page-Views-and-Participations/ta-p/...
Although the idea above isn't bad either. It is almost the same, as this request data is the same data that’s available in Canvas Data.
Hope this helps!
To participate in the Instructure Community, you need to sign up or log in:
Sign In