Ребята подскажите как с помощью node js и request передать файл csv как того требует yandex.
В php и curl все работает, а вот тут не могу заставить работать.
Документация yandex
https://yandex.ru/dev/metrika/doc/api2/practice/of...
// requestSend
async function requestSend(data) {
// errorMsg
var errorMsg = {result: false};
// errorData
if (!data && !data.paramData) {
return errorMsg;
};
var data = data.paramData;
// request options
let requestOptions = {
url: data.url,
method: data.method,
headers: {
'Authorization': 'OAuth '+global.config.settings.YandexMetrikaKey,
'Content-Type': 'multipart/form-data',
},
};
async function yandexResponse(data) {
return new Promise(resolve => {
request(data, (err, res, responseBody) => {
console.log(err)
console.log(res)
console.log(responseBody)
if (!err && res.statusCode == 200) {
resolve(responseBody)
}
})
})
}
const requestResponse = await yandexResponse(requestOptions);
console.log(requestResponse)
if (requestResponse && requestResponse !== 'undefined') {
return {result: true, resultData: requestResponse};
}
return errorMsg;
}
Параметры которые передаются в фукнцию
{
url: 'https://api-metrika.yandex.net/management/v1/counter/НомерСчетчика/offline_conversions/upload?client_id_type=CLIENT_ID',
file: 'полный_путь_к_файлу_csv.csv',
fileName: 'название_файла.csv',
method: 'POST'
}
{"errors":[{"error_type":"invalid_uploading","message":"Request parameter not found","location":"file"}],"code":400,"message":"Request parameter not found"}