Skip to main content

An OAuth2 client for the Coursera App Platform.

Project description

https://travis-ci.org/coursera/courseraoauth2client.svg

This project is a library consisting of a command line interface and a client for interacting with Coursera’s OAuth2 authorized APIs.

Installation

To install this sdk, simply execute:

sudo pip install courseraoauth2client

pip is a python package manager. If you do not have pip installed on your machine, please follow the installation instructions for your platform found at: https://pip.pypa.io/en/latest/installing.html#install-or-upgrade-pip

Setup

Before using Coursera’s OAuth2 APIs, be sure you know your client id, client secret, and scopes you want for for your application. You may create an application at https://accounts.coursera.org/console. When creating the application, set the Redirect URI to be http://localhost:9876.

Next, authorize your application by running courseraoauth2client config authorize --app APP where APP is a disambiguating identifier to be referred to later when making Coursera API calls.

Command Line Interface

The project includes a command line tool. Simply run:

courseraoauth2client -h

for a complete list of features, flags, and documentation.

config

Configures the Coursera OAuth2 client library.

Examples:
  • courseraoauth2client config authorize --app APP

    Configures the tool to go through the authorization secret flow for application APP.

  • courseraoauth2client config check-auth --app APP

    Checks whether the current instance can authorize against Coursera’s API server for application APP

Usage

import requests
from courseraoauth2client import oauth2
...
app = 'my_application_name'
url = 'https://api.coursera.org/api/externalBasicProfiles.v1?q=me&fields=name'
auth = oauth2.build_oauth2(app=app).build_authorizer()
response = requests.get(url, auth=auth)
print response.json()

If my_application_name was successfully configured, you will be able to successfully make a request. Otherwise, an exception will be thrown telling you to set up your application for API access.

Bugs / Issues / Feature Requests

Please us the github issue tracker to document any bugs or other issues you encounter while using this tool.

Developing / Contributing

We recommend developing courseraoauth2client within a python virtualenv. To get your environment set up properly, do the following:

virtualenv venv
source venv/bin/activate
python setup.py develop
pip install -r test_requirements.txt

Tests

To run tests, simply run: nosetests, or tox.

Code Style

Code should conform to pep8 style requirements. To check, simply run:

pep8 courseraoauth2client tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

courseraoauth2client-0.0.1.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

courseraoauth2client-0.0.1-py2-none-any.whl (17.0 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page