HikGetUserlist.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import requests
  2. import math
  3. from Utils.HikAccessToken import hik_access_token
  4. def is_token(response,client_id,client_secret):
  5. if response["code"] == 401:
  6. hik_accesstoken = hik_access_token(client_id,client_secret)
  7. return hik_accesstoken
  8. def resp(hik_accesstoken,pageNo,person_dict):
  9. response = requests.get(
  10. url="https://api2.hik-cloud.com/api/v1/open/basic/persons/list?access_token=%s&pageNo=%s&pageSize=999" %(hik_accesstoken,pageNo)
  11. )
  12. response = response.json()
  13. totalsize = response["data"]["total"]
  14. persons = response["data"]["rows"]
  15. for person in persons:
  16. personId = person["employeeNo"]
  17. personName = person["personName"]
  18. person_dict[personId] = personName
  19. return totalsize,person_dict
  20. def hik_getuserlist(hik_accesstoken):
  21. person_dict = {}
  22. pageNo = 1
  23. totalsize,person_dict = resp(hik_accesstoken,pageNo,person_dict)
  24. page = math.ceil(int(totalsize)/999)
  25. while pageNo < page:
  26. pageNo = pageNo +1
  27. resp(hik_accesstoken, pageNo, person_dict)
  28. # print(person_dict)
  29. return person_dict
  30. # if __name__ == '__main__':
  31. # with open("config.json") as f:
  32. # data = json.load(f)
  33. # client_id = data["client_id"]
  34. # client_secret = data["client_secret"]
  35. # groupId = data["groupId"]
  36. # hik_accesstoken = hik_access_token(client_id, client_secret)
  37. # aa = hik_getuserlist(hik_accesstoken)
  38. # print(aa)