[Python] [Obsolète] Récupération des données API Withings

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : recupération des données API Withings

Message par papoo »

pour appeler la class NokiaUser, en lieu et place de

Code : Tout sélectionner

nokia_user = NokiaUser
ne faudrait il pas

Code : Tout sélectionner

nokia_user = NokiaUser()
?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Miloune
Messages : 10
Inscription : 24 mai 2018, 23:40

Re: PYTHON : recupération des données API Withings

Message par Miloune »

Je ne sais pas, j'ai testé ma méthode qui sauvegarde le token, elle a l'air de fonctionner... Du coup, je ne comprends pas trop.
J'ai posté un message sur la lib, en attente de leur réponse : https://github.com/orcasgit/python-nokia/issues/29
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : recupération des données API Withings

Message par papoo »

il ne manquerait pas la fonction refresh_cb dans ton script?

def refresh_cb(self, token):
""" Called when the OAuth token has been refreshed """
self.access_token = token['access_token']
self.refresh_token = token['refresh_token']
self.expires_at = token['expires_at']
self.save()
"""
While python-nokia takes care of automatically refreshing the OAuth2 token
so you can seamlessly continue making API calls, it is important that you
persist the updated tokens somewhere associated with the user, such as a
database table. That way when your application restarts it will have the
updated tokens to start with. Pass a ``refresh_cb`` function to the API
constructor and we will call it with the updated token when it gets
refreshed. The token contains ``access_token``, ``refresh_token``,
``token_type`` and ``expires_in``. We recommend making the refresh callback
a method on your user database model class, so you can easily save the
updates to the user record, like so:

class NokiaUser(dbModel):
def refresh_cb(self, token):
self.access_token = token['access_token']
self.refresh_token = token['refresh_token']
self.token_type = token['token_type']
self.expires_in = token['expires_in']
self.save()

Then when you create the api for your user, just pass the callback:

user = ...
creds = ...
api = NokiaApi(creds, refresh_cb=user.refresh_cb)

Now the updated token will be automatically saved to the DB for later use.
"""
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Miloune
Messages : 10
Inscription : 24 mai 2018, 23:40

Re: PYTHON : recupération des données API Withings

Message par Miloune »

papoo a écrit : 05 nov. 2018, 22:10 pour appeler la class NokiaUser, en lieu et place de

Code : Tout sélectionner

nokia_user = NokiaUser
ne faudrait il pas

Code : Tout sélectionner

nokia_user = NokiaUser()
?
Je pense que c'est ça effectivement. Je viens de faire le test, j'attends que mon token expire pour confirmer ;)
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : recupération des données API Withings

Message par papoo »

J’ai essayé mais sans succès
Pour moi il manque l’implémentation de la fonction refresh_cb
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Miloune
Messages : 10
Inscription : 24 mai 2018, 23:40

Re: PYTHON : recupération des données API Withings

Message par Miloune »

Non elle y est... Regarde bien dans le script 😋
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : recupération des données API Withings

Message par papoo »

je regarde bien oui
dans ton script il y a la fonction refresh_token
qui tente d’écrire le refresh_token dans le même fichier de configuration (nokia.cfg)
Dernière modification par papoo le 07 nov. 2018, 21:48, modifié 1 fois.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : recupération des données API Withings

Message par papoo »

si l'on se fie à cette issue pour fitbit
https://github.com/orcasgit/python-fitbit/issues/119
il faut stocker les infos de façon permanente ailleurs que dans le fichier nokia.cfg
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Miloune
Messages : 10
Inscription : 24 mai 2018, 23:40

Re: [obsolète] PYTHON : récupération des données API Withings

Message par Miloune »

Tu as trouvé une solution du coup ?
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: [obsolète] PYTHON : récupération des données API Withings

Message par papoo »

domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre