打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用nodejs对Marketing Cloud的contact主数据进行修改操作

假设在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的原创文章,请关注公众号"汪子熙":


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
登录鉴权的三种方式:token、jwt、session简洁例子
微信公众号网页调用微信扫一扫,nodejs后端
跨域post 及 使用token防止csrf 攻击
nodejs express 使用 redis 存储 session 或 Session存放到MongoDB
【nodejs】使用Node.js实现REST Client调用REST API
Nodejs 入门学习
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服