Hi good I have an error with the Python Script Advanced Sensor. the error I get is the following:
XML: Structural error in xml file, 1 open items. -- JSON: The JSON returned does not match the expected structure (Invalid JSON.). (code: PE231).
this would be the scritp I am using
from rauth import OAuth2Service import json import requests import os import time import datetime ## proceso para obtener el token del identity server access_token = None service = OAuth2Service( name="GL", client_id="xxxxx", client_secret="xxxxx", access_token_url='https://xxxxxxxx/pjidentityserver/connect/token' ) data = { 'scope': 'xxxxx.descarga.api', 'grant_type': 'client_credentials' } session = service.get_auth_session(data=data,decoder=json.loads) access_token = session.access_token ##Proceso para consulta de api https://xxxxxxxx/xxxxxx/api/DescargaArchivoController/DescargarArchivo para la descarga de archivos urldescarga = "https://xxxxxxxxx/xxxxxxx/api/DescargaArchivoController/DescargarArchivo" payload = json.dumps({ "contexto": { "codigo": "0900", "provieneSIAGPJ": True } }) headers = { 'P_Archivo': '{"identificador":"xxxxxxxxxxxxxxxxxxxxxxxxxxx","nombreArchivo":"Apremio corporal, ordenarlo (oficio)"}', 'Authorization': 'Bearer '+access_token, 'Content-Type': 'application/json' } response = requests.request("POST", urldescarga, headers=headers, data=payload) estado = 0 mensaje_estado = "" if response.status_code == 200: estado = 1 mensaje_estado = "El Api descarga SI esta funcionando. " else: estado = 0 mensaje_estado = "El Api descarga NO esta funcionando. " # descarga de archivo carpeta = "D:/CursoPython-Final/DescargaGL/" try: os.stat(carpeta) except: os.mkdir(carpeta) open(carpeta+"prueba.pdf", 'wb').write(response.content) #comprobaciones de tamaña, fecha y si existe archivo peso_archivo = os.path.getsize(carpeta+"prueba.pdf") fecha_archivo = os.path.getmtime(carpeta+"prueba.pdf") existe_archivo = os.path.isfile(carpeta+"prueba.pdf") # print(peso_archivo) # print(datetime.datetime.fromtimestamp(fecha_archivo)) # print(existe_archivo) ##peso estado_peso = 0 mensaje_peso = "" if peso_archivo >= 0: estado_peso = 1 mensaje_peso = "El archivo SI posee el peso adecuado. " else: estado_peso = 0 mensaje_peso = "El archivo NO posee el peso adecuado. " #existe_archivo estado_existe=0 mensaje_existe="" if existe_archivo == True: estado_existe = 1 mensaje_existe = "El archivo SI se descargo correctamente a la carpeta. " else: estado_existe = 0 mensaje_existe = "El archivo NO se descargo correctamente a la carpeta. " print("<? xml version = '1.0' encoding = 'UTF-8'?>") print("<prtg>") print("<result>") print("<channel>Estado API</channel>") print("<value>"+str(estado)+"</value>") print("</result>") print("<result>") print("<channel>Tamaño Archivo</channel>") print("<value>"+str(estado_peso)+"</value>") print("</result>") print("<result>") print("<channel>Descarga</channel>") print("<value>"+str(estado_existe)+"</value>") print("</result>") print("<text>"+ mensaje_estado + mensaje_peso + mensaje_existe+"</text>") print("</prtg>") time.sleep(4) os.remove(carpeta+"prueba.pdf")