crewmeister.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import requests
  2. import json
  3. import pandas as pd
  4. import datetime
  5. webservice = "https://api.crewmeister.com/api/v2/"
  6. user_name = "bedner@global-cube.de"
  7. user_pass = "7pmicg1w"
  8. crew_id = "26515"
  9. r = requests.post(webservice + "user/authentication", { 'userIdentifier': user_name, 'password': user_pass })
  10. #print(r.json())
  11. payload = r.json()['payload']
  12. cookies = { 'cmAuthenticationUserToken': payload['token'], 'cmAuthenticationUserId': str(payload['id']) }
  13. r = requests.post(webservice + "crew/authentication", { 'crewId': crew_id }, cookies=cookies)
  14. #print(r.json())
  15. payload = r.json()['payload']
  16. cookies['cmAuthenticationCrewToken'] = payload['token']
  17. cookies['cmAuthenticationCrewId'] = payload['id']
  18. #r = requests.get(webservice + "context", cookies=cookies)
  19. #print(r.json())
  20. r = requests.get(webservice + f"crew/{crew_id}/member", cookies=cookies)
  21. users = pd.DataFrame(r.json()['payload'])
  22. print(users.query("activeTimeAccount==1"))
  23. timestamp = datetime.datetime.now().isoformat()
  24. print(timestamp)
  25. r = requests.get(webservice + f"crew/{crew_id}/time-tracking/stamps", { 'startTime': timestamp, 'endTime': timestamp }, cookies=cookies)
  26. stamps =pd.DataFrame(r.json()['payload'])
  27. online = pd.merge(stamps, users, on='userId').query("timeAccount==1").groupby('email')
  28. print(online['timestamp'].max())