API return for Quiz assignment not correctly showing LockDown Browser config

BrianHall76
Community Explorer

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(rawAssign['name'])
  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 Likes