Пытаюсь использовать код для confluence rest api, но получаю ошибку сертификата.
cause: Error: self-signed certificate in certificate chain
at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:959:8)
at ssl.onhandshakedone (node:_tls_wrap:743:12) {
code: 'SELF_SIGNED_CERT_IN_CHAIN'
Я пробовал добавлять httpsAgent: new https.Agent({ rejectUnauthorized: false }), но это не помогло. В сети много разного, вроде set NODE_TLS_REJECT_UNAUTHORIZED=0, но это не помогает.
const axios = require('axios');
const fs = require('fs');
const path = require('path');
// Функция для загрузки изображений
async function uploadImages(directoryPath, parentPageId, apiKey) {
try {
// Получите список файлов в указанной директории
const files = fs.readdirSync(directoryPath);
for (const file of files) {
const filePath = path.join(directoryPath, file);
// Проверяем, является ли файл директорией
if (fs.statSync(filePath).isDirectory()) {
// Если файл является директорией, вызываем функцию рекурсивно для загрузки изображений из вложенных директорий
await uploadImages(filePath, parentPageId, apiKey);
} else {
// Если файл является изображением, загружаем его на Confluence
// Чтение содержимого файла
const imageData = fs.readFileSync(filePath);
// Загрузка файла на Confluence
const response = await axios.post(
`https://your-confluence-domain/wiki/rest/api/content/${parentPageId}/child/attachment`,
imageData,
{
headers: {
'X-Atlassian-Token': 'nocheck', // Игнорирование проверки сертификата
'Content-Type': 'multipart/form-data',
Authorization: `Bearer ${apiKey}`, // Аутентификация через ключ
},
}
);
if (response.status === 200) {
console.log(`Изображение ${file} успешно загружено.`);
} else {
console.error(`Ошибка загрузки изображения ${file}.`);
}
}
}
} catch (error) {
console.error(error);
}
}
// Пример вызова функции для загрузки изображений из директории "images" с родительской страницей "12345" и ключом аутентификации "your-api-key"
uploadImages('path/to/images/directory', '12345', 'your-api-key');