We run a user report and an enrollment report. We reduce the enrollment report down to a single list of users using the "remove duplicates" option in Excel. Then we compare the 2 lists. Anyone who appears on the user list but not the enrollment list has an account without enrollments.
If you're trying to do this for an individual user or just a handful of users, then you can use the Enrollments API:
So, for a user with attributes like this:
It would be one of these:
If you get an empty response back, then the user has no enrollments. For multiple users, just loop through your own list, making one API call per user. If you'd like a code sample, i can share what i've done with PHP for this kind of thing.
If you're trying to do this for all users in the whole canvas environment (or too many to loop through efficiently), then the easiest way would be to do what Mary mentioned above (generate report, compare to your own list of users).
Thanks for the solution, Mary.
Although it's a bit clumsy for me to work out all these with excel. Cheers.
I guess we've sorted out how to make that API call finally. I totally agree that there will be too many loops to go through the whole list of users.
We are giving the Canvas Admins area a little bit of love (especially questions that are really, really old) and just want to check in with you. This will also bring this question new attention.
Were you able to find an answer to your question? I am going to go ahead and mark this question as answered because there hasn't been any more activity in a while so I assume that you have the information that you need. If you still have a question about this or if you have information that you would like to share with the community, by all means, please do come back and leave a comment. Also, if this question has been answered by one of the previous replies, please feel free to mark that answer as correct.