Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Error invalid questionID en solicitud de API

More
2 years 5 months ago #261106 by blacho
Ayúdenos a ayudarle y rellene los siguientes campos:.
Su versión de LimeSurvey:6.2.11
Servidor propio o LimeSurvey Cloud:
Plantilla de diseño utilizada: fruity
==================
Buenas tardes quiero cambiar una respuesta desde la api de limesurvey, me conecto por medio de python pero este codigo 
Code:
import urllib.request import json import ssl # Deshabilitar la verificación del certificado SSL ssl._create_default_https_context = ssl._create_unverified_context def get_question_properties(session_key, survey_id, question_id, language=None):     url = "https://blacho.limesurvey.net/index.php/admin/remotecontrol"     # Construir los parámetros para la solicitud JSON-RPC     params = {         "method": "get_question_properties",         "params": [session_key, survey_id, question_id, language],         "id": 1     }     # Codificar los datos como JSON     data = json.dumps(params).encode('utf-8')     # Configurar los encabezados de la solicitud     headers = {         'Content-Type': 'application/json',         'Connection': 'Keep-Alive'     }     # Crear la solicitud     req = urllib.request.Request(url=url, data=data, headers=headers)     try:         # Realizar la solicitud         with urllib.request.urlopen(req) as f:             response = f.read().decode('utf-8')             response_json = json.loads(response)             print("Propiedades de la pregunta obtenidas con éxito:")             print(response_json)  # Imprimir las propiedades de la pregunta             return response_json     except Exception as e:         print("Error al obtener las propiedades de la pregunta:", e) def set_question_properties(session_key, survey_id, question_id, properties):     url = "https://blacho.limesurvey.net/index.php/admin/remotecontrol"     # Construir los parámetros para la solicitud JSON-RPC     params = {         "method": "set_question_properties",         "params": [session_key, survey_id, question_id, properties],         "id": 1     }     # Codificar los datos como JSON     data = json.dumps(params).encode('utf-8')     # Configurar los encabezados de la solicitud     headers = {         'Content-Type': 'application/json',         'Connection': 'Keep-Alive'     }     # Crear la solicitud     req = urllib.request.Request(url=url, data=data, headers=headers)     try:         # Realizar la solicitud         with urllib.request.urlopen(req) as f:             response = f.read().decode('utf-8')             response_json = json.loads(response)             print("Respuesta de la API:")             print(response_json)  # Imprimir la respuesta de la API             return response_json     except Exception as e:         print("Error al establecer las propiedades de la pregunta:", e) # Utilización de la función get_question_properties para obtener las propiedades de la pregunta Q00 session_key = "~SyMLnQBSwHIKI9kdnG80HAEiJAsCryf" survey_id = 422613  # ID del formulario question_id = '1'  # ID de la pregunta Q00 question_properties = get_question_properties(session_key, survey_id, question_id) # Modificar las opciones de respuesta si las propiedades se obtienen correctamente if question_properties:     if 'result' in question_properties and 'answeroptions' in question_properties['result']:         answer_options = question_properties['result']['answeroptions']         if 'AO01' in answer_options and answer_options['AO01']['answer'] == 'Miguel Angel':             answer_options['AO01']['answer'] = 'Andres'  # Cambiar 'Miguel Angel' por 'Andres'     # Utilización de la función set_question_properties para aplicar los cambios     if 'result' in question_properties and 'qid' in question_properties['result']:         question_id = question_properties['result']['qid']         response = set_question_properties(session_key, survey_id, question_id, {"answeroptions": answer_options})         print("Resultado de la modificación de las opciones de respuesta:")         print(response)  # Imprimir la respuesta de la API
 

me arroja resultado de error en questionID, no entiendo por qué sabiendo que estoy dando las credenciales correctas
me pueden decir por favor un enfoque diferente para hacer lo que quiero y gracias.
 

File Attachment:

File Name: limesurvey...2613.lss
File Size:134.03 KB

Please Log in to join the conversation.

Moderators: holch, tpartner

Lime-years ahead

Online-surveys for every purse and purpose