当前位置: 首页 > 后端技术 > Node.js

使用nodejs修改MarketingCloud的联系人主数据

时间:2023-04-03 16:59:39 Node.js

假设在MarketingCloud中有这样一个联系人主数据:现在需求是使用nodejs等编程语言修改这个联系人实例的高亮属性。代码如下:varconfig=require("./mcConfig");varrequest=require('request');varurl=config.tokenURL;console.log("user:"+config.user+"password:"+配置密码);vargetTokenOptions={url:url,method:"GET",json:true,headers:{'Authorization':'Basic'+newBuffer(config.user+":"+config.password).toString('base64'),"content-type":"application/json","x-csrf-token":"fetch"}};functiongetToken(){returnnewPromise(function(resolve,reject){varrequestC=request.defaults({jar:true});console.log("Step1:通过url获取csrftoken:"+url);requestC(getTokenOptions,function(error,response,body){varcsrfToken=response.headers['x-csrf-token'];if(!csrfToken){reject({message:"tokenfetcherror:"+error});return;}控制台。log("Step1:csrftokengot:"+csrfToken);解决(csrfToken);});});}functionupdateContact(token){returnnewPromise(function(resolve,reject){varsPostData="--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-传输编码:binary"+"\n"+"\n"+"MERGECon??sumers('02000A21209F1EE99CDF1A1FC9AA8065')?sap-client=100HTTP/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--";varrequestC=request.defaults({jar:true});varcreateOptions={url:config.updateContactURL,方法:"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("联系人更新成功");resolve(data);}});});}getToken().then(updateContact).catch((error)=>{console.log("error:"+error.message);});我在nodejs代码中,将需要更改的字段赋值给“JerryTest1”:执行后,该属性更新成功:获取更多Jerry原创文章,请关注公众号“汪子熙”: