假设在Marketing Cloud有这样一个contact主数据:
现在需求是使用编程语言比如nodejs修改这个contact实例的高亮属性。
代码如下:
var config = require("./mcConfig");
var request = require('request');
var url = config.tokenURL;
console.log("user: " + config.user + " password: " + config.password);
var getTokenOptions = {
url: url,
method: "GET",
json:true,
headers: {
'Authorization': 'Basic ' + new Buffer(config.user + ":" + config.password).toString('base64'),
"content-type": "application/json",
"x-csrf-token" :"fetch"
}
};
function getToken() {
return new Promise(function(resolve,reject){
var requestC = request.defaults({jar: true});
console.log("Step1: get csrf token via url: " + url );
requestC(getTokenOptions,function(error,response,body){
var csrfToken = response.headers['x-csrf-token'];
if(!csrfToken){
reject({message:"token fetch error: " + error});
return;
}
console.log("Step1: csrf token got: " + csrfToken);
resolve(csrfToken);
});
});
}
function updateContact(token){
return new Promise(function(resolve, reject){
var sPostData = "--batch_1f7d-bd35-caed" + "\n" +
"Content-Type: multipart/mixed; boundary=changeset_8f9e-9a44-9f9e" + "\n" +
"\n" +
"--changeset_8f9e-9a44-9f9e" + "\n" +
"Content-Type: application/http" + "\n" +
"Content-Transfer-Encoding: binary" + "\n" +
"\n" +
"MERGE Consumers('02000A21209F1EE99CDF1A1FC9AA8065')?sap-client=100 HTTP/1.1" + "\n" +
"Cache-Control: max-age=360" + "\n" +
"sap-contextid-accept: header" + "\n" +
"Accept: application/json" + "\n" +
"Accept-Language: en" + "\n" +
"DataServiceVersion: 2.0" + "\n" +
"MaxDataServiceVersion: 2.0" + "\n" +
"x-csrf-token: fQ2Pwfmf0K_LVYoKV9QYUw==" + "\n" +
"Content-Type: application/json" + "\n" +
//"Content-Length: 215" + "\n" +
"\n" +
"{\"YY1_CustomerType_ENH\":\"Jerry测试1\"}" + "\n" +
"--changeset_8f9e-9a44-9f9e--" + "\n" +
"\n" +
"--batch_1f7d-bd35-caed--";
var requestC = request.defaults({jar: true});
var createOptions = {
url: config.updateContactURL,
method: "POST",
json:false,
headers: {
"content-type": "multipart/mixed;boundary=batch_1f7d-bd35-caed",
'x-csrf-token': token
},
body:sPostData
};
requestC(createOptions,function(error,response,data){
if(error){
reject(error.message);
}else {
debugger;
console.log("Contact updated successfully");
resolve(data);
}
});
});
}
getToken().then(updateContact).catch((error) =>{
console.log("error: " + error.message);
});
我在nodejs代码里把需要更改的字段值赋为"Jerry测试1”:
执行之后这个属性被成功更新了:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
在一个项目开发过程中,遇到了小票自动打印的业务需求,原本计划使用NodeJS构建打印服务,调用本地电脑打印机进行数据打印,最后可参考资料偏少,由于项目紧急且对NodeJS的熟悉程度目前也还不够,所以转而使用比较...
这是nodejs操作系统os的示例模块,该文件包含了nodejs对os操作系统的各种调用方法示例,在安装好nodejs的前提下,可以直接使用ts-node运行查看
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具。 本资源代码配合博客使用:https://blog.csdn.net/qq_25479327/article/details/81148772 NodeJs使用mongoose操作mongodb
nodejs 数据库操作分装下载 nodejs 数据库操作分装下载 nodejs 数据库操作分装下载
绕云绕道 一个NodeJS工具绕过Cloudflare IUAM v2。这个怎么运作JS挑战( jsch )包含多个串联JavaScript挑战。 我正在尝试对所有这些进行逆向工程,在可以看到已经逆转的所有挑战。 验证码挑战可以在JS挑战之后提出...
Tencent Cloud API 3.0 SDK for Node.js node.js node.js node.js node.js node.js
使用nodejs封装pg数据库操作类(TS编译后JavaScript源码), 使用该类,可以进行数据库增删改查操作, 并且封装类分页查询,等便捷sql查询。 备注:过于复杂sql,需要调用clientQuery查询
从分叉 书店 Bookstore是一个简单的Web应用程序,其中包括Express RESTful API... 单击阅读文章,其中简短提醒您什么是合同测试,Spring Cloud Contract如何实现它以及如何在多语言世界中使用Spring Cloud Contract。
本模块基于Node.js实现了对MySQL数据库的封装,利用了mysql连接池来优化性能,并且包含了用于测试的百万级数据,确保了在大数据量场景下的稳定性和效率。以下将详细介绍该模块的关键知识点: 1. **Node.js与MySQL**...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...
基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码。...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本"NodeJS整理手册文档"旨在为对NodeJS感兴趣的朋友们提供一...
nodejs使用ES6封装一个对数据库的增删改查操作,使用模块化开发。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
nodejs初级教程
iot-nodejs, 使用nodejs连接到IBM的客户端库和示例 node.js-客户端库node.js 客户机用于... 以下库包含有关使用 nodejs ibmiotf node 与组织内的设备和应用程序进行交互的说明和指导。客户端库分为三部分:设备。Manage
本篇文章将深入探讨如何使用`node-sqlite3`库来操作SQLite3数据库,并对其进行封装,以便于在实际项目中更高效地使用。 首先,`node-sqlite3`是Node.js的一个数据库驱动,它提供了与SQLite3数据库交互的接口。安装...
nodejs使用ES6中的import进行引入模块,首先对文件的后缀进行更改为.mjs,其次需要在配置文件目录中添加"type": "module",再启动node服务的时候会发生改变 需要添加--experimental-modules如(nodemon --experimental...
在本文中,我们将深入探讨如何使用NodeJS与Apache Kafka进行交互。Kafka是一个分布式流处理平台,常用于构建实时数据管道和流应用。而NodeJS是JavaScript的服务器端实现,可以方便地创建高性能网络应用。结合这两者...
typescript使用nodejs实现简繁体转换,可以转换子文件夹, 运行方式:将文件复制到工程的files文件夹,运行node app.js "" s2t(简体转繁体)或node app.js "" t2s(繁体转简体)即可
适用于Node.js的腾讯云SDK可帮助Node.js开发人员轻松调试和使用TencentCloud API。 本文档介绍了适用于Node.js的腾讯云SDK,以及如何通过提供的代码示例快速使用它。依赖环境NODEJS 7.10.1或更高版本在腾讯云控制台...