jsonAndRequest.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import json
  2. import requests
  3. #Тестовый класс User и Address (ВАЖНО!!!) поля классов должны называться также как и поля json объекта
  4. class Address(object):
  5. def __init__(self, street, number):
  6. self.street = street
  7. self.number = number
  8. def __str__(self):
  9. return "{0} {1}".format(self.street, self.number)
  10. class User(object):
  11. def __init__(self, name, address):
  12. self.name = name
  13. self.address = Address(**address)
  14. def __str__(self):
  15. return "{0} ,{1}".format(self.name, self.address)
  16. #Функция преобразования json в объект класса
  17. def jsonToUser(jsonstring) -> User:
  18. jsonObj = json.loads(jsonstring)
  19. print(jsonObj)
  20. u = User(**jsonObj)
  21. return u
  22. #Функция обращения к апи и получение токена
  23. def requestGetToken(login, password, url) -> str:
  24. #login = "79876543210"
  25. #password = "admin12345@"
  26. #url = "https://user.sharix-app.org/auth/token/login/"
  27. data = {
  28. "password": password,
  29. "phone_number": login
  30. }
  31. response = requests.post(url, json=data)
  32. result = response.json()
  33. return result['auth_token']
  34. #Функция обращения к апи и получение токена
  35. def createUser(username, phone, password, url) -> str:
  36. data = {
  37. "username": username,
  38. "phone_number": phone,
  39. "password": password
  40. }
  41. response = requests.post(url, json=data)
  42. result = response.json()
  43. return result
  44. #Функция обращения к апи и получение списка пользователей
  45. def requestGetListUser():
  46. auth_token=requestGetToken()
  47. print(auth_token)
  48. headers = {'Authorization': f'Token {auth_token}'}
  49. url = 'https://user.sharix-app.org/platform/api/sharix-users/'
  50. response = requests.get(url, headers=headers)
  51. print(response)
  52. print(response.json())