Я вызываю API, который требует отправки запроса для создания отчета о загрузке данных в виде строки в кодировке base64 или файла на веб-сайте внешнего интерфейса. Мой текущий код генерирует ответ типа запросы.model.Response. Когда я призываю к JSON, вывод:
{'errorMessage': '',
'fileName': 'Reports\\test_2.csv',
'file': '',
'URI': 'HTTPS://C31.IT.COM/API/services/V167.0/files?fileName=Reports%5ctest_2.csv'}
Строка base64 не генерируется и файл на сайте не генерируется. Как мне получить вывод? Строка base64 генерируется, когда я пробую ее с сайта API. Мой код выглядит следующим образом:
reportId = '350048'
fileName = 'test_2.csv'
startDate = (date.today() - timedelta(days=1)).isoformat()
endDate = (date.today()).isoformat()
saveAsFile = 'true'
includeHeaders = 'true'
BASEURL = (data["resource_server_base_uri"])
accessToken = (data["access_token"])
# =============================================================================
payload={'reportId' : reportId,
'fileName' : fileName,
'startDate' : startDate,
'endDate' : endDate,
'saveAsFile' : saveAsFile,
'includeHeaders' : includeHeaders
}
# =============================================================================
#add all necessary headers
header_param = {'Authorization': 'bearer ' + accessToken,
'content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json, text/javascript, */*'}
# Make http post request
response_2 = requests.post(BASEURL +'/services/v17.0/report-jobs/datadownload/'+ reportId +
'?startDate=' + startDate + '&endDate=' + endDate + '&saveAsFile=' + saveAsFile + '&includeHeaders=' + includeHeaders ,
headers = header_param, data = payload )