Не удалось добавить новый пост через API

Привет, я не могу добавить новый пост в тему на своём форуме Discourse через API. Мой код:

function postComment(topicId, comment) {
  const url = `${DISCOURSE_API_URL}/t/${topicId}/posts.json`; // Убедитесь, что этот URL верный
  Logger.log(`Отправка запроса на 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, // Чтобы получить полный ответ об ошибке
  };

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

    // Логируем ответ для отладки
    Logger.log(`Код ответа: ${response.getResponseCode()}`);
    Logger.log(`Тело ответа: ${JSON.stringify(jsonResponse, null, 2)}`);

    // Проверяем, успешно ли был опубликован пост
    if (response.getResponseCode() === 200) {
      Logger.log(`Комментарий успешно опубликован: ${JSON.stringify(jsonResponse, null, 2)}`);
    } else {
      Logger.log(`Не удалось опубликовать комментарий: ${JSON.stringify(jsonResponse, null, 2)}`);
    }

    return jsonResponse; // Возвращаем ответ API
  } catch (error) {
    Logger.log(`Ошибка при публикации комментария: ${error}`);
    return null; // Возвращаем null при ошибке
  }
}

Получаю следующий ответ:

Инфо
Код ответа: 404
15:35:29
Инфо
Тело ответа: {
  "errors": [
    "Запрошенный URL или ресурс не найден."
  ],
  "error_type": "not_found"
}

При этом тема на форуме существует, и я могу опубликовать пост в неё напрямую через сайт форума.

Пожалуйста, помогите.

404, скорее всего, означает, что ваш API-ключ недействителен или передается неправильно.

Если только это не значит, что вы используете неверный путь. Если вы проведете реверс-инжиниринг API Discourse для поста, тот ли это путь, который используется?

Я использую следующий путь: ${DISCOURSE_API_URL}/t/${topicId}/posts.json, где DISCOURSE_API_URL = "https://community.xxxxxxxxxxx.com"

Думаю, URL для ответа на тему через API — это /posts.json. При создании ответа, в отличие от создания новой темы, параметр topic_id является обязательным.

Подробности здесь: Discourse API Docs, но вы также можете просто создать ответ на тему через интерфейс вашего сайта и проверить RequestURL, который указан в разделе “network” веб-инспектора вашего браузера.