These LearningStudio Libraries make working with the RESTful Course APIs easier. Each one offers a streamlined interface for making API calls, and vastly simplifies the more cumbersome operations like Authentication (OAuth 1 and OAuth 2).
There are five libraries in all; you can choose to use any or all of them as best suits your application. Complete documentation is available in the downloadable package, but you should also read the complete API documentation to better understand how the APIs work and what to expect from responses.
Basic API Calls
- Authentication makes it easier to juggle LearningStudio API keys and the different authentication methods, including creating a signature for an OAuth 1 request, or requesting an OAuth 2 token. You can use this library by itself to simply perform those operations, but most developers find it easier to use Core, which leverages Authentication behind the scenes.
- Core is a generic all-purpose library for making any LearningStudio Course API call. It uses Authentication behind the scenes, so all you need to do is specify your authentication type and some details, it handles the heavy lifting. The library returns the payload directly from the API (e.g., JSON-formatted text).
- Exams is one of our more complex set of APIs, so this library provides a variety of functions mapped to the APIs, plus helper functions for streamlining some operations. If you are building an application that provides an alternative way for students to take exams (i.e. a mobile application), this is the library you'll want to use.
- Grades is the most common reason for using LearningStudio APIs, and this library facilitates working with the Gradebook system including creating custom categories and retrieving and writing grades.
- Content & Threads combines the APIs from several different domains and brings them into a single interface for retrieving course structure and content, and interacting with threaded discussions.
To get started, clone the library package for your preferred programming language from our Github repository. All five libraries are included in each language:
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Some libraries may include additional dependencies or code from other developers, which are subject to their own licenses. Most of these licenses are either public domain, MIT, or Apache 2.0.