Привет, я не могу добавить новый пост в тему на своём форуме 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"
}
При этом тема на форуме существует, и я могу опубликовать пост в неё напрямую через сайт форума.
Пожалуйста, помогите.