我认为这是我的代码而不是API提供程序的问题。
这是我发出请求并将其存储在JSON中的方式:
def jsonify(url, filename):
try:
response = requests.get(url, auth=(cfg.LOGIN, cfg.PASSWORD))
content = response.json()
with open(filename, 'w') as file:
json.dump(content, file, indent=4, separators=(',', ': '))
except ConnectionError:
print("API connection failed - wrong login/password?")
如果我在浏览器中输入API链接,则将看到其中的所有数据。但是,如果我打开.json文件,则找不到某些元素。
没有键或值丢失-只有响应元素。
这可能不会告诉您太多,但是这里有两个示例元素:
...
{
"id":19535,
"attributes":{},
"groupId":0,
"name":"5349",
"uniqueId":"5349",
"status":"offline",
"lastUpdate":null,
"positionId":0,
"geofenceIds":[],
"phone":null,
"model":null,
"contact":null,
"category":null,
"disabled":false
},
{
"id":19525,
"attributes":{},
"groupId":0,
"name":"4805",
"uniqueId":"4805",
"status":"offline",
"lastUpdate":null,
"positionId":0,
"geofenceIds":[],
"phone":null,
"model":null,
"contact":null,
"category":null,
"disabled":false
},
...
第一个在我的浏览器和.json中,第二个仅在浏览器中,而不是.json。