Er ikke helt ferdig med API'et enda pga sykdom og andre ting som må prioriteres, men her er koden for de av dere som er interessert. Det vil genere en gyldig X-API-KEY, helt uten brukernavn eller passord. 😛
def get_api_key():
# Get the session token
r = requests.get('https://api.drivstoffappen.no/api/v1/authorization-sessions')
api_token = r.json().get('token')
# Shift the string by one byte
shifted_bytes = bytearray(api_token.encode('utf-8'))[1:] + bytearray([api_token.encode('utf-8')[0]])
shifted_string = shifted_bytes.decode('utf-8')
# Calculate the MD5 hash of the shifted string
md5_hash = hashlib.md5(shifted_string.encode('utf-8')).hexdigest()
return md5_hash
Så kan du gjøre spørring via:
@app.get('/api/v1/brands')
async def get_brands():
headers = { 'X-API-KEY': get_api_key(), 'X-CLIENT-ID': APPLICATION_ID }
r = requests.get('https://api.drivstoffappen.no/api/v1/brands', headers=headers)
if not r.ok:
return {"error": f"Request failed with status code {r.status_code}"}
return r.json()
Jeg er ikke sikker på om jeg vil sette opp et åpent API til alle og enhver, men jeg kommer nok til å hive min docker kontainer ut på github så snart jeg er fornøyd med den. Så er det en smal sak å drifte sin egen eller konvertere den til en HA integrasjon.