07.11.2018, 19:33
(20.10.2018, 17:01)stava Napsal(a):(20.10.2018, 11:08)cromac Napsal(a): 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
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
Diky mocccc, vyborna prace
po uprave o2tvgo.py v doplnku O2tv Go, opet funkcni
musel jsem v tom souboru zmenit jeste self.o2tv.access_.token za self.access_.token