Community Member

API return for Quiz assignment not correctly showing LockDown Browser config

Hi - 

As we're preparing for the Spring semester I'd like to be able to pull a list of all courses that have published quizzes utilizing LockDown Browser.  This will allow us to remind those faculty they need to access the LDB panel on their course(s) to (re-)enable LDB on the existing objects.

Using the APIs I can get the quiz object from Assignments, but when I check the properties in the JSON response it shows "require_lockdown_browser" is false most times when I can clearly see in the Canvas shell that the quiz has LDB configured (and the name of the Quiz object returns with "- Requires Respondus LockDown Browser + Webcam").

We generally still have mostly Classic Quizzes.  I did find in testing that the only quiz object that correctly returned the property as "true" was a New Quiz I had in my Sandbox.  Does the property only get set on New Quizzes in the Assignment object?

Any insight or help is appreciated.  Happy Holidays!

Here's a partial code (Python).  It's not doing much yet, I'm just looping through the Assignments on a course and dumping out the flag.  Once that was working I'll put together the rest (feel pretty confident about that part).

sURLAssigns = sURLCourse + "/assignments"
payload = {'per_page' : '500'}
rAssigns = requests.get(sURLAssigns, headers=headers, data=payload)
rawAssigns = rAssigns.json()
for assgn in rawAssigns:
  sURLAssign = sURLAssigns + "/" + str(assgn['id'])
  rAssign = requests.get(sURLAssign, headers=headers) 
  rawAssign = rAssign.json()
  print(" " + str(rawAssign['require_lockdown_browser']))

No error, it just returns false when the LDB config shows the Quiz has been configured for LDB.  Attachment shows the LDB config and Quizzes in the Canvas shell.

0 Kudos
3 Replies
Community Champion


This is not directly an answer to the question about where the property gets set, but I'll share what I discovered.

We don't use Respondus, but a different proctoring vendor. We were getting weird billing charges and so I was tasked with trying to find quizzes that were using the tool with the expensive settings.

To determine whether a quiz even used the proctoring software, I had to look at the title or the description (body) of the quiz. If they matched a certain string, then I took it as a quiz that was locked down.

Knowing which settings were being used required editing the quiz so their LTI could fire. There wasn't anything on the Canvas side that listed exactly what functionality was being used. Those settings weren't contained in Canvas, only on the vendor's site.

The vendor was not particularly helpful in tracking down which quizzes were being taken. They claimed it was for privacy and could only give us the time the billing occurred. They were unable (unwilling?) to provide any information from the LTI launch that would have helped us track it down.

0 Kudos
Community Member

Thanks @James !  I appreciate your insight.  I'm always willing to use a "big hammer" approach (checking the quiz titles) 😉, but figured I'd try to use the API return values first.  

Community Contributor

Have you tried using the quizzes API call instead of the assignments call?



0 Kudos