node.js - Nodejs axios 未将多部分表单数据发送到 Salesforce Pardot 错误
问题描述
尝试使用 nodejs 向 Salesforce Pardot API 发送发布请求时收到以下错误:
<err code="152">Request body can't be empty: importInput is empty or missing</err>
const data = new FormData();
data.append("importFile", fs.createReadStream('./test.csv'), { type: 'text/csv' });
data.append("importInput", JSON.stringify(body), { type: 'application/json' });
sendCSV(data, token.access_token);
async function sendCSV(data, token){
var headers = data.getHeaders();
headers['Pardot-Business-Unit-Id'] = '123456780';//<-Fake
headers['Authorization'] = `Bearer ${token}`;
const response = await got.post('https://pi.demo.pardot.com/api/import/version/4/do/create', {
data,
headers: headers,
});
}
身体是
{"operation":"Upsert","object":"Prospect","restoreDeleted":false,"state":"Ready",
"columns":
[{"field":"a","overwrite":false,"nullOverwrite":false},
{"field":"b","overwrite":false,"nullOverwrite":false},
{"field":"c","overwrite":false,"nullOverwrite":false},
{"field":"d","overwrite":false,"nullOverwrite":false},
{"field":"e","overwrite":false,"nullOverwrite":false},
{"field":"f","overwrite":false,"nullOverwrite":false},
{"field":"g","overwrite":false,"nullOverwrite":false},
{"field":"h","overwrite":false,"nullOverwrite":false},
{"field":"i","overwrite":false,"nullOverwrite":false},
{"field":"j","overwrite":false,"nullOverwrite":false},
{"field":"k","overwrite":false,"nullOverwrite":false},
{"field":"l","overwrite":false,"nullOverwrite":false},
{"field":"m","overwrite":false,"nullOverwrite":false},
{"field":"n","overwrite":false,"nullOverwrite":false},
{"field":"o","overwrite":false,"nullOverwrite":false},
{"field":"p","overwrite":false,"nullOverwrite":false},
{"field":"q","overwrite":false,"nullOverwrite":false},
{"field":"r","overwrite":false,"nullOverwrite":false},
{"field":"s","overwrite":false,"nullOverwrite":false},
{"field":"t","overwrite":false,"nullOverwrite":false},
{"field":"u","overwrite":false,"nullOverwrite":false},
{"field":"v","overwrite":false,"nullOverwrite":false},
{"field":"w","overwrite":false,"nullOverwrite":false}]}
我很感激任何帮助,不知道为什么它认为我的输入丢失了,我也用 Postman 试过这个并收到同样的错误。
解决方案
推荐阅读
- c++ - 避免 std::upper_bound 崩溃
- wordpress - Woocommerce 默认 CSV 导出器/导入器中的 post_status
- python - 线程在不点击 tkinter 的情况下运行?
- javascript - 如何通过函数从 cy.request 返回响应
- python - Python:最佳实践 - 抽象父类和 MixIn-Classes - 如何处理仅在子类中定义的属性
- python - 将值从 HTML 传递到 Python 函数
- python - 为什么我的班级没有在我的单元测试中被嘲笑?
- javascript - Chart.js 使用静态数据的图表未呈现,可能是由于 Vue
- dataframe - 在 SPARK Sql/Pyspark 中将变量值作为列名传递?
- python - 如何修复 CNN 的“值错误”