- Posts: 56
- Thank you received: 0
Ask the community, share ideas, and connect with other LimeSurvey users!
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
Please Log in to join the conversation.