我们先来看看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的原创文章,请关注公众号"汪子熙":

最新文章

  1. ssh框架整合-NoClassDefFoundError-NoSuchMethodError-遁地龙卷风
  2. Java JDK配置环境变量
  3. SAP ALV内嵌(In-place)Excel的问与答
  4. linux下利用elk+redis 搭建日志分析平台教程
  5. Gunicorn + Django 部署
  6. Git超级实用使用教程
  7. 嵌入式 RTSP流媒体播放器实现
  8. Qt 学习之路:QML 和 QtQuick 2
  9. core_cm3文件函数一览
  10. PageRank——Google的民主表决算法
  11. 你可能不知道的5种 CSS 和 JS 的交互方式
  12. Java EE Expression Language
  13. python学习日记(内置函数补充)
  14. mysql 采样查询 / 间隔查询 / 跳跃查询的两种实现思路
  15. oppo手机屏幕录制的详细操作技巧
  16. 《温故而知新》JAVA基础一
  17. bittorrent 学习(一) 种子文件分析与bitmap位图
  18. 【HDOJ1217】【Floyd求最长路】
  19. 将spring boot项目部署到tomcat容器中
  20. RedirectStandardOutput

热门文章

  1. 9Flutter GridView组件 以及动态GridView
  2. shell之判断文件是否存在
  3. OpenGL学习(4)——纹理(补)
  4. 02.03 win server r2 搭建FTP站点
  5. OpenCV.3.4.6_VS2015&amp;cmake编译x86版本的bin&amp;lib
  6. 前端手势控制图片插件书写三(将transform变化应用在图片和canvas画布上)
  7. 【转帖】lmbench的简单使用
  8. 实时监控服务器某个端口状态TCPing
  9. dp 状态压缩
  10. 剑指offer1: 组类型——二维数组中的查找(给定一个数字,查找是否在该数组中)