Estoy tratando de implementar mi aplicación en PythonAnywhere. Todo funciona bien, pero cuando llamo a una función, mi aplicación falla.
Tipo de excepción: JSONDecodeError Valor de excepción: Valor esperado: línea 1 columna 1 (char 0)
He estado leyendo otras respuestas, pero nadie está trabajando para mí. El problema es este fragmento de código:
parametros = {'location': lugar, 'API_KEY': api_code} url = 'http://servizos.meteogalicia.es/apiv3/findPlaces' # Enviamos la peticion peticion = requests.get(url, parametros) # Obtenemos la respuesta respuesta = json.loads(peticion.text)ACTUALIZAR 1
El mismo error:
parametros = {'location': lugar, 'API_KEY': api_code, 'format': 'application/json'} url = 'http://servizos.meteogalicia.es/apiv3/findPlaces' # Enviamos la peticion try: peticion = requests.get(url, parametros) except: peticion.raise_for_status() # Obtenemos la respuesta respuesta = json.loads(peticion.text)Y el JSON parece ser válido:
(Publicado en nombre del OP) .
Recibí este mensaje de soporte, por lo que el problema está resuelto:
¡Ay! Lo siento, realmente debería haberlo visto primero. Los usuarios gratuitos están restringidos a acceder a sitios en una lista blanca de sitios web con API oficiales documentadas y, por alguna razón, pensé que el sitio ya estaba en la lista blanca.
Lo añadiré ahora y te avisaré cuando esté activo.
El problema probablemente esté aquí:
File "./consulta/views.py" in formulario 32. respuesta = json.loads(peticion.text) Parece que peticion.text no es una cadena JSON válida.