- Posts: 40
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Error invalid questionID en solicitud de API
- blacho
- Topic Author
- Offline
- Senior Member
Less
More
4 weeks 1 day ago #261106
by blacho
Error invalid questionID en solicitud de API was created 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
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.
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.
Please Log in to join the conversation.