Is there a way to find out when an assignment was created inside a course? If so does it also list who created it?
There are at least two API calls that will return the creation date for an assignment, both are from the Assignments API.
List Assignments will return a list of all assignments, but you may have to deal with pagination if your assignment isn't one of the first ten created. You can add an optional ?per_page=50, but that only works if your assignment is within the first 50 for a course.
Get a Single Assignment will list the creation date for just one assignment, but you don't have to mess with pagination. The trade-off is that you have to look up the assignment ID inside Canvas first.
Both of these API calls return the created_at and updated_at fields, which are timestamps of when the assignment was first created and last updated, respectively.
There doesn't appear to be anything in the assignments data structure that indicates who created the assignment. However, there may be a way around that deficiency by making another API call.
List User Pageviews is under the Users API. It only allows you to specify a user ID, a start time, and an end time. So, take the users that you suspect created it (people with those permissions in Canvas), and the time that the assignment was created from the previous API calls. Subtract a few seconds and add a few seconds from that for the starting and ending times.
Unfortunately, using this process, you'll need to fetch page views for all of the potential candidates until you find the person who created it. Luckily, by limiting the time frame, you will minimize the amount of time that it takes.
The page views are in reverse chronological order so that the newest one is at the top. You're looking for two entries consecutive entries:
The first one will have an action of show, a controller of assignments, and a URL ending with the assignment number of the assignment. Once you find this, there will be a links object that has the Canvas user ID.
The entry right before that, which is actually the first one chronologically, will have an action of new, a controller of assignments, and have an URL ending in /assignments/new. It will have a links section that contains the Canvas user ID.
Hopefully someone has an easier way, but Page Views are what I used earlier when I needed to know which students had actually viewed a page I had told them to read (the number was low).
Thank you so much James! I'll have to try the API calls :-)
Stacey Smith, I'm not sure how API savvy you are, but there is a round-about super long non-API way to find this information as well. We use these steps to figure out when students accessed certain assignments, but it should also work for faculty.
I've only used a few API's and was doing research on the information James gave. This will work for the short term at least so I greatly appreciate you providing this information to me. :-)
I need to see when I published an assignment and would like to follow the procedure @Kona Jones posted. However, I cannot figure out how to "Download the Page View Logs" per step 2 of the instructions. Under People > [me] > User Details, I can get an "Access Report" but it doesn't seem to contain detail on each page. I also looked under the Pages selection for the course and the list of selections is short and only shows a few of the pages in my course. Any help will be appreciated! Thanks, James.
Retrieving data ...