mirror of
https://github.com/skoobasteeve/successfactors-python.git
synced 2026-03-20 03:28:58 +00:00
49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
# SuccessFactors + Python
|
|
Authenticate with and use the SAP SuccessFactors API with Python.
|
|
|
|
## Authentcation
|
|
|
|
### How to use
|
|
|
|
1. Create an OAuth application in SuccessFactors.
|
|
2. Download the private key and copy the Client ID.
|
|
3. Clone this repo and copy `sf_auth.py` and `sf_saml_template.xml` into your Python project directory.
|
|
4. Import `sf_auth` into your project.
|
|
5. Install all the requirements listed in `requirements.txt` in this repo.
|
|
6. Call the `sf_auth.auth()` function in your Python project. You'll need to pass the following parameters:
|
|
- `sf_url`: Base API url of your SuccessFactors instance, e.g. "https://api55.sapsf.eu".
|
|
- `sf_company_id`: SuccessFactors company ID.
|
|
- `sf_oauth_client_id`: The Client ID for the OAuth application you created earlier.
|
|
- `sf_admin_user`: An admin user in SuccessFactors that has access to the OAuth application.
|
|
- `sf_saml_private_key`: Path to the private key file you downloaded when you created the OAuth application.
|
|
- `template_file`: Path to the template file from this repo.
|
|
|
|
Example:
|
|
``` python
|
|
#!/usr/bin/env python
|
|
|
|
import requests
|
|
import sf_auth
|
|
|
|
sf_url = 'https://your.base.url.com'
|
|
sf_company_id = 'your-company-id'
|
|
sf_oauth_client_id = 'OAUTH-CLIENT-ID'
|
|
sf_admin_user = 'your_admin_user'
|
|
sf_saml_private_key = 'your_app_private_key.pem'
|
|
template_file = 'sf_saml_template.xml'
|
|
|
|
token = sf_auth.auth(sf_url, sf_company_id, sf_oauth_client_id, sf_admin_user, sf_saml_private_key, sf_saml_template)
|
|
|
|
headers = {
|
|
"Accept: application/json",
|
|
f"Authorization: {token}"
|
|
}
|
|
|
|
request = requests.get(f"{sf_url}/User", headers=headers)
|
|
|
|
print(request.json())
|
|
```
|
|
|
|
### Using as an AWS Lambda function w/ API Gateway
|
|
|
|
Coming soon... |