Hola,
Estoy usando el plugin Discourse Assign y logré hacerlo, aquí está el código de Python:
import requests
# Puedes obtener esto invirtiendo la ingeniería de la solicitud de asignación y verificando los parámetros y valores en la consola como alguien mencionó antes :)
base_url = 'TU_URL'
endpoint = '/assign/assign'
payload = {
'username': 'NOMBRE_DE_USUARIO', # El nombre de usuario de la persona a la que quieres asignar el tema
'group_name': '',
'target_id': NUMERO_DEL_TEMA,
'target_type': 'Topic'
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Referer': 'URL_DEL_TEMA',
'Accept': '*/*',
'Api-Key': 'TU_API_KEY',
'Api-Username': 'TU_NOMBRE_DE_USUARIO'
}
response = requests.put(f"{base_url}{endpoint}", data=payload, headers=headers)
if response.status_code == 200:
print("¡Asignación exitosa!")
else:
print(f"La asignación falló con el código de estado {response.status_code}: {response.text}")
Espero que ayude ^^