Using the Canvas API, what are the best, most reliable indicators of student participation in a course?
I developed a user script to identify students who have NOT participated in the course for a given period of time. "Non-participation" is defined as no quiz submissions, no assignment (file) submissions, no discussion posts/replies. Page views do not count as participation in my criteria, so that rules out using the Zero Activity Report provided by Canvas. Attendance is not taken as these courses are entirely only with optional sync sessions.
My initial approach was to use participations (api/v1/courses/[course id]/analytics/users/[user id]/activity) to check each student's participations and list the names of those students with no participations. I discovered that participations did not produce reliable data, as this discussion confirms: Participation API - anyone else seeing errors? The API call returns fewer participations than actually occurred. For a given user, there may be two or three participations in the JSON data, while the same user's Analytics pages shows many more.
Is the best approach to get quiz submissions, assignment submissions and discussion posts and replies for each student or is there a simpler way to distinguish between participating and non-participating students using the criteria I listed above?
*My script is based on the excellent Access Reports script developed by James Jones, see Obtaining and using Access Report data for an entire course