Не могу отправить файл в MailChimp
Я пытался загрузить CSV-файл в mailChimp и использовать его для загрузки его в Facebook Messenger с помощью node.js. Я могу просто создать файл, используя модуль csv-write-stream. После создания файла csv я использую модуль под названием "js-base64-file" для кодирования содержимого файла в base64 и загрузки его в mailchimp, а также сохранения его в объект с обязательными полями "name" и "file_data" для отправьте его с запросом POST, вот так:
base64.load('', file, (err, data) => {
console.log(`err: ${err}`); // no error
console.log(`Data: ${data}`); // not null nor undefined
const dataString = `{"name":${file} , "file_data":${data}}`;
console.log(`dataString: ${dataString}`); // not null nor undefined
const options = {
url: apiUri,
method: 'POST',
'content-type': 'application/json',
body: dataString,
auth: {
user: apiUser,
pass: apiKey,
},
};
Request(options, (error, response, body) => {
const obj = JSON.parse(body);
console.dir(body);
console.log(`full_size_url: ${obj.full_size_url}`);
next();
});
});
Я на 100% уверен, что base64 находит и кодирует содержимое файла, потому что он либо предупреждает меня, когда не может найти файл, либо возвращает пустую строку, если есть какие-либо проблемы, мой объект "options" для запроса также работает, потому что я используя его для успешной загрузки pdf-файла в mailChimp (также работает запрос GET), переменные аутентификации apiUri, apiName и apiKey также являются правильными. К сожалению, это не работает. Тело отвечает, я получаю это
'{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"Invalid Resource","status":400,"detail":"The resource submitted could not be validated. For field-specific details, see the \'errors\' array.","instance":"270198c8-f3b8-4c4f-bdb8-872321470b17","errors":[{"field":"","message":"Schema describes object, NULL found instead"}]}'
,
Есть идеи? Я застрял на этом в течение нескольких дней, любое возможное решение будет высоко ценится.