To allow for more control over which Canvas APIs Panorama can access, you can give Panorama a Canvas API Key with specific APIs enabled.
Setting Up the Connector
- Log in to Canvas as an admin, and click Admin to go to the desired Canvas account.
- From the left-side menu, click Developer Keys.
- Click Developer Key > API Key.
- Enter the following information:
- Key Name: Panorama API Integration
- Redirect URls: https://<zoneURL>/canvas-auth
- US Zone: https://panorama-api.yuja.com
- CAN Zone: https://panorama-api-cz.yuja.com
- EU Zone: https://panorama-api-ez.yuja.com
- AUS Zone: https://panorama-api-az.yuja.com
- (Optional) Enable Enforce Scopes.
Important: We do not recommend enforcing scopes. It will require you to reintegrate Panorama with the Canvas API every time Panorama adds new functionality that uses the API. If you do not want to proceed with this, please ensure Enforce Scopes is disabled and proceed to step 7. - Check Allow Include Parameters and then check the following parameters:
- Accounts
- url:GET|/api/v1/accounts
- url:GET|/api/v1/accounts/:id
- url:GET|/api/v1/accounts/:account_id/courses
- url:GET|/api/v1/accounts/:account_id/sub_accounts
- Admins
- url:GET|/api/v1/accounts/:account_id/admins
- Assignments
- url:GET|/api/v1/courses/:course_id/assignments
- url:GET|/api/v1/courses/:course_id/assignments/:id
- url:PUT|/api/v1/courses/:course_id/assignments/:id
- Courses
- url:GET|/api/v1/courses
- url:GET|/api/v1/courses/:id
- url:GET|/api/v1/courses/:course_id/users
- url:GET|/api/v1/courses/:course_id/users/:id
- url:PUT|/api/v1/courses/:id
- url:POST|/api/v1/courses/:course_id/files
- Discussion Topics
- url:GET|/api/v1/courses/:course_id/discussion_topics
- url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id
- url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id
- url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
- Enrollment Terms
- url:GET|/api/v1/accounts/:account_id/terms
- url:GET|/api/v1/accounts/:account_id/terms/:id
- Files
- url:GET|/api/v1/courses/:course_id/files
- url:GET|/api/v1/files/:id
- url:POST|/api/v1/files/:id
- url:PUT|/api/v1/files/:id
- Pages
- url:GET|/api/v1/courses/:course_id/pages
- url:GET|/api/v1/courses/:course_id/pages/:url_or_id
- url:PUT|/api/v1/courses/:course_id/pages/:url_or_id
- url:POST|/api/v1/courses/:course_id/pages
- Quizzes
- url:GET|/api/v1/courses/:course_id/quizzes
- url:GET|/api/v1/courses/:course_id/quizzes/:id
- url:GET|/api/quiz/v1/courses/:course_id/quizzes/:assignment_id
- url:GET|/api/quiz/v1/courses/:course_id/quizzes
- url:PUT|/api/v1/courses/:course_id/quizzes/:id
- url:PATCH|/api/quiz/v1/courses/:course_id/quizzes/:assignment_id
- Roles
- url:GET|/api/v1/accounts/:account_id/roles
- url:GET|/api/v1/accounts/:account_id/roles/:id
- Rubrics
- url:GET|/api/v1/courses/:course_id/rubrics
- url:GET|/api/v1/courses/:course_id/rubrics/:id
- Accounts
- Click Save.
- Locate the newly created developer key and copy the client ID in the Details column.
- Click Show Key and copy the client secret that appears.
- Log in to Panorama and from the left-side menu, click Configuration > Integration Settings.
- From the Select Integration drop-down menu, select LMS API.
- Click Add Access Key.
- For the Canvas Authentication Method, choose Client ID.
- In the Client ID field, enter the ID from step 7.
- In the Client Secret field, enter the client secret from step 8.
- If you used enforced scopes, enable Use Enforced Scopes. Otherwise, skip this step.
- Click Authenticate With Canvas.
Note: Please ensure you are logged in to Canvas as an admin will full privileges. - click Authorize.
- Copy the authentication response and go back to Panorama. Paste the response in the Canvas authentication response field.
- Click Add Access Key.
- Click Save Changes to complete the setup.