No se puede añadir una nueva publicación mediante la API

Hola, no puedo agregar una nueva publicación a un tema en mi foro de Discourse usando la API. Mi código:

function postComment(topicId, comment) {
  const url = `${DISCOURSE_API_URL}/t/${topicId}/posts.json`; // Asegúrate de que esta URL sea correcta
  Logger.log(`Publicando en la URL: ${url}`);
  const headers = {
    "Api-Key": DISCOURSE_API_KEY,
    "Api-Username": DISCOURSE_API_USERNAME
  };

  const payload = {
    post: {
      topic_id: topicId,
      raw: comment
    },
  };

  const options = {
    method: "post",
    contentType: "application/json",
    headers: headers,
    payload: JSON.stringify(payload),
    muteHttpExceptions: true, // Para capturar la respuesta de error completa
  };

  try {
    const response = UrlFetchApp.fetch(url, options);
    const jsonResponse = JSON.parse(response.getContentText());

    // Registrar la respuesta para depuración
    Logger.log(`Código de respuesta: ${response.getResponseCode()}`);
    Logger.log(`Cuerpo de la respuesta: ${JSON.stringify(jsonResponse, null, 2)}`);

    // Comprobar si la publicación fue exitosa
    if (response.getResponseCode() === 200) {
      Logger.log(`Comentario publicado exitosamente: ${JSON.stringify(jsonResponse, null, 2)}`);
    } else {
      Logger.log(`Error al publicar comentario: ${JSON.stringify(jsonResponse, null, 2)}`);
    }

    return jsonResponse; // Devolver la respuesta de la API
  } catch (error) {
    Logger.log(`Error al publicar comentario: ${error}`);
    return null; // Devolver null en caso de error
  }
}

Estoy recibiendo esta respuesta:

Info
Código de respuesta: 404
3:35:29 PM
Info
Cuerpo de la respuesta: {
  "errors": [
    "La URL o el recurso solicitado no se pudo encontrar."
  ],
  "error_type": "not_found"
}

incluso aunque el tema del foro existe y puedo publicar en él directamente en el sitio web del foro.

Por favor, ayúdenme.

404 no es probable que signifique que tu clave de API es incorrecta o que no se está pasando correctamente.

A menos que signifique que estás utilizando la ruta incorrecta. Si realizas ingeniería inversa de la API de Discourse para una publicación, ¿es esa la ruta que se utiliza?

Estoy usando esta ruta: ${DISCOURSE_API_URL}/t/${topicId}/posts.json
donde DISCOURSE_API_URL = \"https://community.xxxxxxxxxxx.com\"

Creo que la URL para responder a un tema a través de la API es /posts.json. Al crear una respuesta, en lugar de al crear un nuevo tema, topic_id es un parámetro obligatorio.

Los detalles están aquí: Discourse API Docs, pero también puedes crear una respuesta a un tema a través de la interfaz de usuario de tu sitio y comprobar la URL de la solicitud que se establece en la sección “network” del inspector web de tu navegador.

2 Me gusta