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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

Details for the file courseraoauth2client-0.0.1.tar.gz.

File metadata

File hashes

Hashes for courseraoauth2client-0.0.1.tar.gz
Algorithm Hash digest
SHA256 09f33f75c762e752c3e3b1a99c714538250975d5a175297d0a7c61fffd5f18cd
MD5 5fec52ed1be54cb7f1f1d5c2afdaf86a
BLAKE2b-256 bba1c36f24c66888a49af1108a405626695a54e60c2aa2f521cf48db2c970e72

See more details on using hashes here.

Provenance

File details

Details for the file courseraoauth2client-0.0.1-py2-none-any.whl.

File metadata

File hashes

Hashes for courseraoauth2client-0.0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 32fa1028702f37e94364cb6117b10e79227df062d5521d8d3812110d381ae7dd
MD5 faa185b6a790746eace45cdf021f9481
BLAKE2b-256 5e76de1647ad2fcff53753c4080836e159ee83ec170dd860c9dc6de4349fe61f

See more details on using hashes here.

Provenance

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