20.10.2018, 11:08
Ahoj,
tak po změně hesla se mi mobilní aplikace rozjela. Bohužel addon byl stále nefunkční. Tak sem si tu komunikaci na mobilu sniffnul a autentizační proces je teď jiný. Udělal sem změny ve funkci "refresh_access_token", která je v o2tvgo.py a doplněk je funkční.
Tímto bych poprosil někoho kdo se v pythonu opravdu vyzná zda by to nepřepsal do nějaké rozumné podoby a dal na github, aby se vydal update.
Změny ve funkci aplikujete na vlastní nebezpečí. Žádný support z mé strany k tomu nebude poskytován. Nerozumím tomu natolik abych si na to troufnul.
Díky
Cromac
tak po změně hesla se mi mobilní aplikace rozjela. Bohužel addon byl stále nefunkční. Tak sem si tu komunikaci na mobilu sniffnul a autentizační proces je teď jiný. Udělal sem změny ve funkci "refresh_access_token", která je v o2tvgo.py a doplněk je funkční.
Tímto bych poprosil někoho kdo se v pythonu opravdu vyzná zda by to nepřepsal do nějaké rozumné podoby a dal na github, aby se vydal update.
Změny ve funkci aplikujete na vlastní nebezpečí. Žádný support z mé strany k tomu nebude poskytován. Nerozumím tomu natolik abych si na to troufnul.
Díky
Cromac
Kód:
def refresh_access_token(self):
_COMMON_HEADERS0 = {
'X-Nangu-Device-Name': self.device_id,
'X-Nangu-App-Version': 'Android',
'User-Agent': 'okhttp/3.10.0',
'Accept-Encoding': 'gzip',
'Connection': 'Keep-Alive',
'Content-Type': 'application/x-www-form-urlencoded',
}
headers0 = _COMMON_HEADERS0
data0 = {'username': self.username,
'password': self.password}
req0 = \
requests.post('https://ottmediator.o2tv.cz:4443/ottmediator-war/login'
, data=data0, headers=headers0, verify=False)
j = req0.json()
service_id = str(j['services'][0]['service_id'])
remote_access_token = str(j['remote_access_token'])
datax = {'service_id': service_id,
'remote_access_token': remote_access_token}
reqx = \
requests.post('https://ottmediator.o2tv.cz:4443/ottmediator-war/loginChoiceService'
, data=datax, headers=headers0, verify=False)
_COMMON_HEADERS1 = \
{'Content-Type': 'application/x-www-form-urlencoded',
'Connection': 'Keep-Alive'}
headers1 = _COMMON_HEADERS1
data1 = {
'client_id': 'tef-web-portal-etnetera',
'client_secret': '2b16ac9984cd60dd0154f779ef200679',
'platform_id': '231a7d6678d00c65f6f3b2aaa699a0d0',
'language': 'cs',
'grant_type': 'remote_access_token',
'remote_access_token': remote_access_token,
'authority': 'tef-sso',
'isp_id': '1',
}
req1 = requests.post('https://oauth.o2tv.cz/oauth/token',
data=data1, headers=headers1, verify=False)
j = req1.json()
self.access_token = j['access_token']
self.expires_in = j['expires_in']
return self.access_token
