我们先来看看Marketing Cloud系统里的contact信息:
一共1218374条数据。
我们用如下的nodejs代码通过OData来获取这些数据:
var request = require('request');
var config = require("./mcConfig");
var url = config.getContactBatchURL;
var sBody = "--batch_c914-a60c-1877" + "\n" +
"Content-Type: application/http" + "\n" +
"Content-Transfer-Encoding: binary" + "\n" +
"\n" +
"GET InteractionContacts?sap-client=100&$skip=0&$top=2&$select=ImageURL%2cName%2cContactLevelName%2cCountryName%2cCity%2cEMailAddress%2cPhoneNumber%2cMobilePhoneNumber%2cCorporateAccountName%2cInteractionContactUUID%2cRelationship%2cType&$inlinecount=allpages HTTP/1.1" +
"sap-cancel-on-close: true" + "\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" +
"\n" + "\n" +
"--batch_c914-a60c-1877--";
var getContactOptions = {
url: url,
method: "POST",
json:false,
headers: {
"content-type": "multipart/mixed;boundary=batch_c914-a60c-1877",
'Authorization': 'Basic ' + new Buffer(config.user + ":" + config.password).toString('base64')
},
body: sBody
};
function getContact() {
return new Promise(function(resolve,reject){
var requestC = request.defaults({jar: true});
console.log("Step1: get contact via url: " + url );
requestC(getContactOptions,function(error,response,body){
if( error){
console.log("error occurred: " + error);
reject(error);
}
console.log("response:" + body);
var nStartIndex = body.indexOf("{");
var nLastIndex = body.lastIndexOf("}");
if( nStartIndex < 0 || nLastIndex < 0)
return;
var sPayload = body.substring(nStartIndex, ++nLastIndex);
resolve(JSON.parse(sPayload));
});
});
}
function displayResult(oResult){
console.log(oResult);
}
getContact().then(displayResult);
使用node命令直接执行这个.js文件:
得到结果:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
在Node.js环境中,读取本地文件并生成目录树是一种常见的需求,特别是在开发文件管理系统或进行文件操作时。Node.js提供了一系列强大的文件系统(fs)模块,使得开发者能够方便地进行文件和目录的操作。本篇文章将...
NodeJs实现读取目录文件(node dir_new list),以及文件批量生成(node dir_new)
nodejs实现websocket服务与html+js聊天通信示例 ...2.直接在nodeJs命令行中敲入:npm install nodejs-websocket回车就可以安装好了. 3.开始建立服务器了,因为有了nodejs-websocket模块,所以很多工作都不用我们自己做.
一个用NodeJS实现的Ftp Servce
typescript使用nodejs实现简繁体转换,可以转换子文件夹, 运行方式:将文件复制到工程的files文件夹,运行node app.js "" s2t(简体转繁体)或node app.js "" t2s(繁体转简体)即可
Edge 是一种在进程内实现 NodeJS 与 .NET 互操作的桥接技术,可以在 NodeJS 里使用 .NET 代码和库,也可以在 .NET 程序里使用 NodeJS 的代码。Edge 运行需要 .NET Framework 4.5,它使用 .NET 的 Task、async、await...
NodeJs实现水仙花数,模块化
【作品名称】:基于Nodejs 实现获取磁力链接infohash DHT BT网络爬虫 磁力链接解析获取种子 读取信息 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或...
使用nodejs封装pg数据库操作类(TS编译后JavaScript源码), 使用该类,可以进行数据库增删改查操作, 并且封装类分页查询,等便捷sql查询。 备注:过于复杂sql,需要调用clientQuery查询
在本篇文章中,我们将深入探讨如何使用Node.js来读取图片文件,并将其返回给浏览器进行显示。虽然重点在于图片,但本文内容同样适用于其他文件类型如音频、视频等。 首先,要实现这一功能,我们需要了解HTTP协议中...
快递鸟api,查询物流,nodejs实现
同时,由于OData服务可以跨越多个平台和编程语言,因此在实现时还需要考虑如何将OData集成到非SAP系统中,以及如何保证数据安全和传输效率。 SAP UI5 OData开发是一个复杂的过程,涉及到前端设计、后端服务、数据...
nodejs 实现获取磁力链接infohash DHT BT网络爬虫 磁力链接解析获取种子 读取信息 服务器配置 下面的示例安装,是在一台VPS上执行的,配置如下: Memory: 2G Disk: 40G SSD Processor: 2 Core Image: Centos6.5 x...
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具。 本资源代码配合博客使用:https://blog.csdn.net/qq_25479327/article/details/81148772 NodeJs使用mongoose操作mongodb
2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设...
使用nodejs下载网站中的图片,nodejs爬图
nodejs的一个小代码,使用nodejs代码实现图片的上传
电信lot 接口帮助类,nodejs实现
本文实例讲述了nodejs实现日志读取、日志查找及日志刷新的方法。分享给大家供大家参考,具体如下: 知识要点: JavaScript函数传参 JavaScript日期处理 JavaScript字符串操作 前端时间插件按需定制使用 nodejs...
本文主要介绍了在Node.js环境下,如何使用MySQL数据库实现分页功能。 首先,分页的基本思路是确定每页显示的数据条目数(即页面大小),然后根据当前页码计算查询数据的起始位置和结束位置。在MySQL中,我们通常...