Python API – POST Requests
Many API endpoints require use of the POST method.
Here we look at how you can use Python and Requests to work with an API. Example code and a real world example connecting to the EBAY API.
Endpoint – The URL that delineates what data you are interacting with.
Method – Specifies how you’re interacting with the resource located at the provided endpoint. REST APIs can provide methods to enable full Create, Read, Update, and Delete (CRUD) functionality. Here are common methods most REST APIs provide:
GET – Retrieve data
PUT – Replace data
POST – Create data
DELETE – Delete data
Data – If you’re using a method that involves changing data in a REST API, you’ll need to include a data payload with the request that includes all data that will be created or modified.
Headers contain any metadata that needs to be included with the request, such as authentication tokens, the content type that should be returned, and any caching policies.
Authenticate to a REST API
The most common framework for API authentication is OAuth. acts as an equivalent to a username/password combination;
Once you have an access token, you can provide it as a bearer token in the request header: this is the most secure way to authenticate to a REST API with an access token:
my_headers = {‘Authorization’ : ‘Bearer {access_token}’} response = requests.get(‘http://httpbin.org/headers’, headers=my_headers)
API Response
response.content() # Return the raw bytes of the data payload response.text() # Return a string representation of the data payload response.json() # This method is convenient when the API returns JSON
– examples –
https://www.w3schools.com/python/ref_requests_post.asp https://www.w3schools.com/python/ref_requests_response.asp