源代码如下:
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 createContact(token){
return new Promise(function(resolve, reject){
var oPostData = {"CountryCode":"CN",
"City":"Chengdu",
"FirstName":"Jerry4",
"LastName":"Wang2",
"PostalCode":"610093",
"RegionCode":"",
"Street":"天府软件园",
"HouseNumber":"天府软件园",
"DateofBirth":null,
"ContactPersonFacets":[
{"Id":"jerry1@sap.com",
"IdOrigin":"EMAIL",
"Obsolete":false,
"Invalid":false},
{"Id":"",
"IdOrigin":"PHONE",
"Obsolete":false,
"Invalid":false},
{"Id":"",
"IdOrigin":"MOBILE",
"Obsolete":false,
"Invalid":false},
{"Id":"",
"IdOrigin":"FAX",
"Obsolete":false,
"Invalid":false}
],
"IsConsumer":true,
"Filter":{
"MarketingAreaId":"CXXGLOBAL"
}
};
var requestC = request.defaults({jar: true});
var createOptions = {
url: config.createContactURL,
method: "POST",
json:true,
headers: {
"content-type": "application/json",
'x-csrf-token': token
},
body:oPostData
};
requestC(createOptions,function(error,response,data){
if(error){
reject(error.message);
}else {
var oCreatedContact = data;
console.log("created contact ID: " + oCreatedContact.d.ContactPersonId);
resolve(data);
}
});
});
}
getToken().then(createContact).catch((error) =>{
console.log("error: " + error.message);
});
这里我把创建的contact的名称字段硬编码成Jerry4:
使用nodejs执行这个js文件,输出成功创建的contact guid:
在Marketing Cloud UI上看到这个创建成功的contact:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
在这个场景中,我们将探讨如何使用Node.js中的`ftp-srv`库来创建一个简单的FTP服务器。`ftp-srv`是一个易于使用的FTP服务器模块,它允许开发者自定义各种操作,包括处理文件系统的交互。 首先,`index.js`是主入口...
使用nodeJS创建了一个响应式简历页面,以模拟留言板上的数据交互。它允许简单的注册和登录,用户可以在登录后留言。布局使用了引导(基本上只有它的网格系统)。我使用JQuery。使用CA
Tencent Cloud API 3.0 SDK for Node.js node.js node.js node.js node.js node.js
绕云绕道 一个NodeJS工具绕过Cloudflare IUAM v2。这个怎么运作JS挑战( jsch )包含多个串联JavaScript挑战。 我正在尝试对所有这些进行逆向工程,在可以看到已经逆转的所有挑战。 验证码挑战可以在JS挑战之后提出...
基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码基于Nodejs的智慧果园数据采控系统源代码。...
从分叉 书店 Bookstore是一个简单的Web应用程序,其中包括Express RESTful API... 单击阅读文章,其中简短提醒您什么是合同测试,Spring Cloud Contract如何实现它以及如何在多语言世界中使用Spring Cloud Contract。
基本情况 在一个项目开发过程中,遇到了小票自动打印的业务需求,原本计划使用NodeJS构建打印服务,调用本地电脑打印机进行数据打印,最后可参考资料偏少,由于项目紧急且对NodeJS的熟悉程度目前也还不够,所以转而...
nodejs-fdf 使用 nodejs 创建 FDF 文件如何安装这个模块? 首先你必须安装 node-gyp npm -g install node-gyp rebuild之后,您可以安装 fdf 模块 git clone ...
适用于Node.js的腾讯云SDK可帮助Node.js开发人员轻松调试和使用TencentCloud API。 本文档介绍了适用于Node.js的腾讯云SDK,以及如何通过提供的代码示例快速使用它。依赖环境NODEJS 7.10.1或更高版本在腾讯云控制台...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本"NodeJS整理手册文档"旨在为对NodeJS感兴趣的朋友们提供一...
标题中的"factorial-bm-Nodejs-G"指的是一个基于Node.js编写的Google Cloud Functions应用程序,主要用于计算阶乘。这个程序可能被设计成一个微服务,以高效、可扩展的方式处理阶乘计算请求。让我们深入了解一下这个...
iot-nodejs, 使用nodejs连接到IBM的客户端库和示例 node.js-客户端库node.js 客户机用于简化与Things平台的交互。 以下库包含有关使用 nodejs ibmiotf node 与组织内的设备和应用程序进行交互的说明和指导。客户端库...
typescript使用nodejs实现简繁体转换,可以转换子文件夹, 运行方式:将文件复制到工程的files文件夹,运行node app.js "" s2t(简体转繁体)或node app.js "" t2s(繁体转简体)即可
3. **流(Stream)**:NodeJS中的流接口允许数据以高效的方式逐块处理,常用于处理大文件或网络数据传输。 4. **中间件(Middleware)**:如Express框架中的中间件机制,用于构建Web应用,使得路由处理和业务逻辑更加...
关于Humanoid是一个Node.js程序包,用于解决和绕过CloudFlare(并希望在将来-以及其他WAF一样)JavaScript反机器人挑战。 尽管可以通过无头浏览器解决反机器人页面,但它们很沉重,通常被认为是最容易抓取的页面。 ...
利用nodejs 编写服务器端,利用express构建服务器,采用路由器的方式管理路由,导入mysql模块,前端页面通过get方式发送查询请求,通过post方式发送注册请求,通过连接池的方式完成数据库数据的读取与注册功能,使用...
本模块基于Node.js实现了对MySQL数据库的封装,利用了mysql连接池来优化性能,并且包含了用于测试的百万级数据,确保了在大数据量场景下的稳定性和效率。以下将详细介绍该模块的关键知识点: 1. **Node.js与MySQL**...
nodejs初级教程
generator-node-typescript, 使用app创建NodeJS软件包的最小文件生成器生成器 NodeJS生成器 你好我是一个使用app创建软件包的最小文书生成器。 ! 我让你快速安装一个带有最新可用工具和最佳实践的项目。我使用:npm...
一点 NodeJS中的CloudFlare的1.1.1.1 DNS服务。安装npm install one-dot用法const oneDot = require ( "one-dot" ) ;oneDot ( { domain : "richie-bendall.ml" , type : "a" } ) . then ( console . log ) ;//=> [{ ...