Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

canvas-request

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

canvas-request

npm module for making api requests to canvas

  • 0.0.1
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

canvas-request

This is a simple npm module for making API calls to Instructure's canvas.

Usage

The following parameters are required either as environment variables or as parameters in the Parameter Store:

  • CANVAS_CLIENT_ID
  • CANVAS_CLIENT_SECRET
  • CANVAS_REFRESH_TOKEN

If they are included in the parameter store, include the parameter_header in the config (see below) and set the credential_method to aws_ssm. For example, if I have a parameter named "lms-event-integration.dev.CANVAS_CLIENT_ID" and another named "lms-event-integration.dev.CANVAS_CLIENT_SECRET" then my parameter_header would be "lms-event-integration.dev".

If you are not using the parameter store, you must have those values set as environment variables.

var canvas = require('./index.js')
// var canvas_token = '<place your canvas token here>'
var canvas_config = {
    // 'token': canvas_token, // If you include the token in the config, you don't need the CANVAS_CLIENT_ID, CANVAS_CLIENT_SECRET or the CANVAS_REFRESH_TOKEN.  Omit to use aws_ssm or env_vars
    'credential_method': 'aws_ssm', // Either aws_ssm or env_vars
    'aws': { // include if using aws_ssm
        'parameter_header': 'lms-event-integration.dev',
        'region': 'us-west-2',
        'aws_params_location': 'file' // Either file (~/.aws/credentials) or env_vars
    }
}

var requestOptions = {
    'url': 'https://byu.test.instructure.com/api/v1/accounts/1/users',
    'method': 'GET',
    'headers': {
        'Accept': 'application/json'
    }
}

canvas(requestOptions, canvas_config, function(err, res, body) {
    if(err) {
        console.log(err)
    } else {
        console.log(body)
    }
})

NOTE: "aws-ssm" is used to fetch parameters stored in the Amazon Parameter Store. For more information, see http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html and http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SSM.html.

For more information on Canvas APIs see https://canvas.instructure.com/doc/api/index.html

Issues

  • One of the config items needs to be the canvas url. Right now the byu one is hard coded.
  • I need to add to the config a boolean to set whether the token is being passed in or whether to use the refresh token.
    • If a token is being passed in, there is no need for the refresh token to be passed in.

Future Work

  • There probably isn't a need to get the aws parameters every time. Can you set them as enviroment variables?

FAQs

Package last updated on 13 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc