argrento/huami-token

amazfit No 'country_code' parameter in login url.

Didier-Croes opened this issue · 8 comments

Hello,

I tried to get the key but i get this message:

Traceback (most recent call last):
File "huami_token.py", line 264, in
device.get_access_token()
File "huami_token.py", line 88, in get_access_token
raise ValueError("No 'country_code' parameter in login url.")
ValueError: No 'country_code' parameter in login url.

I use python 3.8 on ubuntu 20.04

Hello. How do you run the script?

That's weird: just checked and can not reproduce this error.
Add this line
print(redirect_url_parameters)
just before if 'country_code' not in redirect_url_parameters: at the line 87

if 'country_code' not in redirect_url_parameters:
.

And paste the printed line here. It should look like this:
{'state': ['REDIRECTION'], 'region': ['us-west-2'], 'access': [TOKEN], 'country_code': ['US'], 'countryState': ['US-NY'], 'expiration': [SOME DIGITS]}

{'state': ['REDIRECTION'], 'region': ['eu-central-1'], 'access': ['DYpQhfLqAwJQPWV63B6Nt'], 'expiration': ['1614595873']}

I have an amazfit bip S

As a temporary workaround:

  1. Comment line 87:
    if 'country_code' not in redirect_url_parameters:
  2. Comment line 88
    raise ValueError("No 'country_code' parameter in login url.")
  3. Update line 91:
    self.country_code = redirect_url_parameters['country_code']
    to self.country_code = "EU"

This should fix the problem.

That solved the issue
thanks a lot

Great. Thanks for pointing out that sometimes server does not return country_code.