36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import urllib.request
|
|
import urllib.parse
|
|
import json
|
|
import ssl
|
|
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
|
|
# 1. Get token
|
|
token_url = "https://dhs.sisvietnam.vn/connect/token"
|
|
data = urllib.parse.urlencode({
|
|
"grant_type": "client_credentials",
|
|
"client_id": "DigitalHealthSolutions_LabConn",
|
|
"client_secret": "AcEnBCaphERGOGYMaStATITEnaPETYpR",
|
|
"scope": "LabConn"
|
|
}).encode('utf-8')
|
|
|
|
req = urllib.request.Request(token_url, data=data)
|
|
req.add_header('Content-Type', 'application/x-www-form-urlencoded')
|
|
req.add_header('Cookie', '.AspNetCore.Culture=c%3Den%7Cuic%3Den; __tenant=3a0f747c-57b6-753b-ba21-3987e8e93b9a')
|
|
|
|
with urllib.request.urlopen(req, context=ctx) as response:
|
|
token_resp = json.loads(response.read().decode('utf-8'))
|
|
access_token = token_resp['access_token']
|
|
|
|
# 2. Get 01509 schedule
|
|
schedule_url = "https://dhs.sisvietnam.vn/api/app/his/doctors/01509/work-schedules"
|
|
req2 = urllib.request.Request(schedule_url)
|
|
req2.add_header('Authorization', 'Bearer ' + access_token)
|
|
req2.add_header('__tenant', '3a0f747c-57b6-753b-ba21-3987e8e93b9a')
|
|
|
|
with urllib.request.urlopen(req2, context=ctx) as response:
|
|
schedule_resp = json.loads(response.read().decode('utf-8'))
|
|
print(json.dumps(schedule_resp, indent=2))
|