Sto utilizzando questo client python-instagram
con Python 3.4.3
su MacOS
.KeyError: "data" con client Python Instagram API
miei passi:
- ha registrato un nuovo cliente su
instagram
, ricevuto client_id e client_secret - Pip installare python-instagram
- Copia sample_app.py al mio Mac
ho seguito le istruzioni su Sample app
, ho autorizzato con successo la mia app via instagram e ho provato questo list of examples, ma nessuno di loro ha funzionato. Dopo il mio clic l'intestazione <h2>
e il contatore delle richieste API cambiano e vedo Remaining API Calls = 486/500
.
Se provo a ottenere User Recent Media
un'eccezione KeyError: 'data'
mostra nel mio terminale. Se cancello la costruzione try - except
, lasciando il blocco in try
, quando vedrò "Errore: 500 Errore interno del server".
Ecco il traceback:
Traceback (most recent call last):
File "/Users/user/.envs/insta/lib/python3.4/site-packages/bottle.py", line 862, in _handle
return route.call(**args)
File "/Users/user/.envs/insta/lib/python3.4/site-packages/bottle.py", line 1732, in wrapper
rv = callback(*a, **ka)
File "sample_app.py", line 79, in on_recent
recent_media, next = api.user_recent_media()
File "/Users/user/.envs/insta/lib/python3.4/site-packages/instagram/bind.py", line 197, in _call
return method.execute()
File "/Users/user/.envs/insta/lib/python3.4/site-packages/instagram/bind.py", line 189, in execute
content, next = self._do_api_request(url, method, body, headers)
File "/Users/user/.envs/insta/lib/python3.4/site-packages/instagram/bind.py", line 151, in _do_api_request
obj = self.root_class.object_from_dictionary(entry)
File "/Users/user/.envs/insta/lib/python3.4/site-packages/instagram/models.py", line 99, in object_from_dictionary
for comment in entry['comments']['data']:
KeyError: 'data'
Tutto il codice che ho usato è dal campione del client ufficiale di Python API da Instagram.
Che ha funzionato per me! Alcuni bug ... L'ho provato su Python 3.4. –
Mi ci è voluto un po 'per scoprire questo bug e "hackerarlo" ma non posso sistemarlo sui nostri dockers perché ottengono build dalle fonti dei pip. Spero davvero che uniscano questa correzione al ramo principale. – anber
Ho anche installato python-instagram via pip, ma ho potuto risolvere il problema dopo l'istruzione @Forge. Se si digita 'pip uninstall python-instagram', il sistema mostrerà un elenco dei file da disinstallare, con le rispettive posizioni, incluso models.py. Dì "n" a "Procedi (y/n)?", Per NON disinstallare python-instagram, e ora sai dove si trova il file. –