A Python-based connection with Procore that doesn't require a user authentication
This package accesses Procore's API through the Client Credentials OAuth 2.0 grant type which is meant for Data Connection Applications i.e. "userless access".
You can install this package with:
pip install ProPyCore
To get started, you need to create an instance of a Procore
object from propycore.procore
. To do so, you will need to access information from your Procore Data Connection App:
- Client ID: Accessible from your app at Procore Developers - will vary between sandbox and production modes
- Client Secret: Accessible from your app at Procore Developers - will vary between sandbox and production modes
- Redirect URI: For data connection apps, this value will be "urn:ietf:wg:oauth:2.0:oob"
- OAuth URL: Will be "https://sandbox.procore.com" for sandbox environments or "https://app.procore.com" for production
- Base URL: Will be "https://sandbox.procore.com" for sandbox environments or "https://app.procore.com" for production
Once you have these values, you will use them as parameters in the Procore
object:
connection = Procore(
client_id=os.getenv("CLIENT_ID"),
client_secret=os.getenv("CLIENT_SECRET"),
redirect_uri=os.getenv("REDIRECT_URI"),
oauth_url=os.getenv("OAUTH_URL"),
base_url=os.getenv("BASE_URL")
)
In this case, I have saved my App information as individual environment variables. For examples on how to access Procore information and create new object, see the snippets folder for a rather exhaustive list.
- Procore Developer Dcoumentation: Various articles concerning the setup and use of Procore's API
- REST API Reference: Endpoints, response samples, and limited code snippets showcasing the use of the API.
- Procore's Own Python Sample: Includes basic code to setup a Python Flash application but uses the other OAuth 2.0 grant type
- Python SDK for Procore: Small SDK that includes basic code to work with Procore. Uses the other OAuth 2.0 grant type.
This repository is licensed through the MIT License.