Vendor-specific helpers

This document presents the helpers found in pyodata.vendor

Get the service proxy client for an OData service published on SAP BTP, ABAP environment

Let’s assume you have an ABAP environment service instance running on SAP Business Technology Platform. You have used this instance to provide an OData service by using, for example, the ABAP RESTful Application Programming Model. To connect to it, you need to provide several attributes found in the JSON service key of the instance, as well as your username and password for SAP BTP.

pyodata.vendor.SAP offers a helper that takes the arguments described above, as well as an existing requests.Session object (or another one conforming to the same API), and adds the required token to the session object’s authorization header.

The following code demonstrates using the helper.

import pyodata
from pyodata.vendor import SAP
import requests
import json

with open('key.txt', 'r') as f:
    KEY = json.loads(f.read())

USER = "MyBtpUser"
PASSWORD = "MyBtpPassword"
SERVICE_URL = KEY["url"] + "/sap/opu/odata/sap/" + "ZMyBtpService"

session = SAP.add_btp_token_to_session(requests.Session(), KEY, USER, PASSWORD)
# do something more with session object if necessary (e.g. adding sap-client parameter, or CSRF token)
client = pyodata.Client(SERVICE_URL, session)