'How to send data to json recurvise in python
I have an api that returns me a json of 5 out of 5 data.
In the example I have an output with 9 data.
And in the json it gives me a nextBatchToken
token which when added to the parameter returns me the next page of the json.
I want to save the final.json
with the 9 data at once.
I have the following output:
"data": {
"totalCount": 9,
"detections": [
{
"source": "detection",
"uuid": "6122200f",
"detectionTime": "2022-03-27T01:32:41Z",
"ingestionTime": "2022-03-27T01:45:34Z",
"filters": [...]
},
"nextBatchToken": "TOKEN"
}
}
My code:
import requests, json
import datetime, time
archive = open("final.json", "w")
with archive as finaljson:
date_time_start = datetime.datetime(2022, 3, 26, 21, 00, 00)
date_time_end = datetime.datetime(2022, 3, 27, 9, 00, 00)
start = int((time.mktime(date_time_start.timetuple())))
end = int((time.mktime(date_time_end.timetuple())))
# response = json.dumps(r.text)
url_base = 'URL'
url_path = '/PATH'
token = 'MY_YOKEN'
nextBatchToken = ''
query_params = {
'nextBatchToken': nextBatchToken,
'end': end,
'size': '5',
'start': start,
'riskLevels':'critical'
}
headers = {'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json;charset=utf-8'}
response = requests.get(url_base + url_path, params=query_params, headers=headers)
# archive = response.text
decodedResponse = json.loads(response.text)
# decodedResponse = json.dumps(response.json())
r = decodedResponse['data']
count = r['totalCount']
json.dump(response.json(), archive)
for i in r:
nextBatchToken = r['nextBatchToken']
if 'nextBatchToken' in r:
print('nextBatchToken') #I add the variable here, oculting
nextBatchToken = r['nextBatchToken']
else:
print('cabo')
archive.close()
I tried to make an increment shape but I can't send the json response to the variable and print the next page on this for
but no success...
In the output of the file, instead of leaving the token at least once (I changed it for example), it is leaving 4 times and does not add to the parameter.
The json only exits with 5 and the nextBachToken
included.
C:\Users\Sandson\Desktop
λ python vai.py
MY_TOKEN
MY_TOKEN
MY_TOKEN
MY_TOKEN
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|