github-education-resources / classroom

GitHub Classroom automates repository creation and access control, making it easy for teachers to distribute starter code and collect assignments on GitHub.
https://classroom.github.com
1.34k stars 566 forks source link

GitHub classroom unable to access Canvas course roster #2510

Open jeremymanning opened 4 years ago

jeremymanning commented 4 years ago

Describe the bug I'm unable to import the course roster from Canvas

To Reproduce Steps to reproduce the behavior:

  1. Go to "Students" tab of course (link)
  2. Click on "Import from Canvas" button
  3. See error: GitHub Classroom does not have access to your course roster on Canvas. Please ensure that you've allowed GitHub Classroom to retrieve your course membership from Canvas and try again.

Expected behavior I expected my course roster (on Canvas) to be imported into the GitHub Classroom course.

Screenshots If applicable, add screenshots to help explain your problem.

Screenshot 2019-12-30 16 46 21

Additional context I added GitHub Classroom to Canvas using these instructions. The new app (GitHub Classroom) appears in the list of apps on Canvas, although I can't tell if GitHub Classroom is actually communicating with Canvas (or vice versa).

jeremymanning commented 4 years ago

Update: I believe this is related to this issue. It looks like the canvas administrator needs to enable the "Allow this tool to access the IMS Names and Role Provisioning Service" option.

I can either update (or close) this issue once our administrator has enabled that option, or I'm fine to close the issue now (or for you to close it).

Other suggestions for resolving this issue:

d12 commented 4 years ago

Hey @jeremymanning ! The IMS Names and Role Provisioning Service is required to pull roster information at this time. As an alternative to using the LTI integration, you could also import students via a .csv by navigating to your students tab and clicking "update students".

Let me know if this solves the problem :)

jeremymanning commented 4 years ago

I'm not seeing an update students option-- here's what that tab looks like for my course:

Screenshot 2020-01-17 17 31 06
lizfischer commented 4 years ago

@jeremymanning I believe you have to remove the Canvas connection before it will let you add students manually. That's what worked for me, anyway.

I'm currently experiencing this problem even with "Allow this tool to access the IMS Names and Role Provisioning Service" checked. I tried removing the app in Canvas and re-adding, but I still get "GitHub Classroom does not have access to your course roster on Canvas."

I had a hard time following the issue linked above-- not sure what the resolution was if there was one.

image image

stephaniegiang commented 4 years ago

Hi @lizfischer 👋 To just get a better understanding of the issue, could I ask about where your Canvas is hosted. Is it self hosted or on Canvas' servers?

lizfischer commented 4 years ago

I believe it's on Canvas' servers, but my only basis for that guess is the URL: https://utexas.instructure.com/