Python interface to the Janrain Capture API.
Project description
Python interface to the Janrain Capture API.
Install
Download and install the most recent stable version using pip:
pip install janrain-python-api
To use the unstable developement version, download the package by cloning the git repository:
git clone https://github.com/janrain/janrain-python-api.git cd janrain-python-api python setup.py install
Basic Usage
Low-Level API Calls
Use janrain.capture.Api to make low-level calls to the API.
from janrain.capture import Api
defaults = {
'client_id': "YOUR_CLIENT_ID",
'client_secret': "YOUR_CLIENT_SECRET"
}
api = Api("https://YOUR_APP.janraincapture.com", defaults)
result = api.call("entity.count", type_name="user")
print(result)
Exceptions
Exceptions are derived from JanrainApiException which includes error responses from the API. A try/catch bock should wrap any functions or methods that call the Janrain API.
import sys
from janrain.capture import Api, ApiResponseError
from requests import HTTPError
defaults = {
'client_id': "YOUR_CLIENT_ID",
'client_secret': "YOUR_CLIENT_SECRET"
}
api = Api("https://YOUR_APP.janraincapture.com", defaults)
try:
result = api.call("entity.find", type_name="user")
except ApiResponseError as error:
# Janrain API returned an error response
sys.exit(str(error))
except HTTPError as error:
# Python 'requests' library returned an error
sys.exit(str(error))
Argument Parser
The library includes a subclass of the Python argparse configured to accept credentials for authenticating with the Janrain API. This can be used to simplify passing in credentials in custom command-line scripts.
from janrain.capture import cli
parser = cli.ApiArgumentParser()
args = parser.parse_args()
api = parser.init_api()
Which can then invoke from the command-line as follows:
python myscript.py --api-url=[YOUR_CAPTURE_URL] \ --client-id=[YOUR_CLIENT_ID] \ --client-secret=[YOUR_CLIENT_SECRET] \
Command-Line Utility
The package installs an executable named capture-api for making API calls from the command-line.
Authenticate with the API by passing --api-url, --client-id, and --client-secret, then pass the API call, and then any parameters to send to the API as key=value pairs after the --parameters argument.
Examples
Passing the authentication credentials:
capture-api --api-url=[YOUR_CAPTURE_URL] \ --client-id=[YOUR_CLIENT_ID] \ --client-secret=[YOUR_CLIENT_SECRET] \ entity.count --parameters type_name=user
Enclose JSON values in single outer-quotes and double inner-quotes:
capture-api --api-url=[YOUR_CAPTURE_URL] \ --client-id=[YOUR_CLIENT_ID] \ --client-secret=[YOUR_CLIENT_SECRET] \ entity.find --parameters type_name=user \ attributes='["displayName","email"]'
Enclose filters in double outer-quotes and single inner-quotes:
capture-api --api-url=[YOUR_CAPTURE_URL] \ --client-id=[YOUR_CLIENT_ID] \ --client-secret=[YOUR_CLIENT_SECRET] \ entity.find --parameters type_name=user \ filter="email = 'demo@janrain.com' and birthday is null"
Versioning
This software follows Semantic Versioning convention. http://semver.org/
Copyright © 2014 Janrain, Inc. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file janrain-python-api-0.4.0.tar.gz
.
File metadata
- Download URL: janrain-python-api-0.4.0.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3320f9eb0d80a471a7b7248a3919499d11c5bc974ec1b33473505c8f0ece5a |
|
MD5 | 2c651e3f9439a74999c97afc8b59a318 |
|
BLAKE2b-256 | 8feb64e694dd15bf3b102b55eb57ab1b36edb8232e2dfb20d4e02fc1f89e2fe6 |