OEG Best Practice: Anaplan Python OAuth Example
The Anaplan Python OAuth Example demonstrates using the Anaplan REST API with OAuth with device-based authorization. The code highlights how to generate a device_id
, access_token
, and refresh_token
. Additionally, the code highlights a multi-threaded approach to request a new access_token
while performing other, longer-running operations such as a large data load. Please note that with this code example, the concept is simulated by calling Get Workspaces five times every 10 seconds while simultaneously refreshing the access_token
every 5 seconds. Please note that the access_token
expires after 35 minutes, so please adjust the timer to a value just below this expiration length (2100 seconds). Usage and the source code can be viewed here.
Here is a brief overview of the example:
1) New device-based Oauth Registration:
2) After a successful registration, run unattended mode:
3) To see all command line arguments, type: 'python3 anaplan.py -h'
4) To update any of the Anaplan API URLs, please edit the file settings.json.
Note: The client_id
and refresh_token
are stored as encrypted values in a SQLite database. As an alternative, a solution like auth0 would further enhance security.
Author: Quin Eddy, @QuinE - Director of Data Integration, Operational Excellence Group (OEG)
Comments
-
The Anaplan Python OAuth Example demonstrates using the Anaplan REST API with OAuth with device-based authorization.
1 -
Please note that the code base has been updated to support rotatable and non-rotatable tokens. The code has also been cleaned up and aligned to the style used in the Anaplan Enhanced Audit Solution.
0