文档章节

使用nodejs实现OData的batch操作在Marketing Cloud里读取contact信息

JerryWang_SAP
 JerryWang_SAP
发布于 05/25 22:30
字数 316
阅读 0
收藏 0

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

© 著作权归作者所有

JerryWang_SAP
粉丝 24
博文 688
码字总数 559157
作品 0
深圳
程序员
私信 提问
如何用Java代码在SAP Marketing Cloud里创建contact数据

我们可以使用SAP Marketing Cloud提供的Contact create OData API在第三方应用里创建Contact主数据. API地址:/sap/opu/odata/sap/CUANCONTACTSRV/InteractionContacts 示例代码只有100多行:...

jerrywangsap
05/25
0
0
Apache Olingo OData Client 4.0.0 for JavaScript

Apache Olingo OData Client 4.0.0 for JavaScript 发布了,Apache Olingo 是个 Java 库,用来实现 Open Data Protocol (OData)。 Apache Olingo 包括服务客户端和 OData 服务器方面。当前支...

oschina
2015/04/20
816
0
SAP C/4HANA Sales Cloud使用OData服务和第三方系统集成的一个具体例子

出于工作需要,Jerry写了这篇文章,给某些Partner做参考。 以前Jerry曾经介绍过SAP C/4HANA的五朵云到底包含哪些具体产品,其实在SAP官网上有更权威的中文解释: https://www.sap.com/china/...

JerryWang_SAP
01/15
9
0
使用postman创建Marketing Cloud的Contact

首先在Marketing Cloud的UI上创建一个contact: 观察Chrome开发者工具network标签页里的HTTP请求: https://jerry.gcdemo.hybris.com/sap/opu/odata/sap/CUANCOMMONSRV/?sap-client=100 这个......

JerryWang_SAP
05/25
0
0
Apache Olingo 2.0.3 发布

Apache Olingo 2.0.3 发布,此版本包括 bug 修复和改进,特别是 JPA 扩展方面的改进。 此版本现已提供下载:http://olingo.apache.org/doc/odata2/download.html。 发行说明- Olingo - Vers...

oschina
2015/03/06
937
0

没有更多内容

加载失败,请刷新页面

加载更多

【0911】linux软件包安装和卸载

【0911】linux软件包安装和卸载 一、安装软件包的三种方法 1、rpm工具:与win中的exe安装包类似,红帽子公司包管理系统 2、yum工具:属于一种用python开发的工具,支持自动的安装依赖的包 3、...

飞翔的竹蜻蜓
31分钟前
3
0
【外行学IT】手机网页自适应之rem和viewport

在写手机网页时,对于像素的问题会非常困惑,初学者很多时候会因为那么一个小点的问题解决不了,或者无法理解透彻就放弃了学习。 我在学习写手机网页时也困惑了许久,出现过下面的问题: 图片...

前端老手
42分钟前
5
0
三、Java设计模式之单一职责原则

定义:不要存在多于一个导致类变更的原因。 一个类、接口、方法只负责一项职责 优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险

东风破2019
50分钟前
4
0
搭建高可用MongoDB集群(分片)

搭建高可用MongoDB集群(分片) KaliArch关注1人评论28269人阅读2017-12-04 21:57:41 MongoDB基础请参考:https://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:https:/...

linjin200
今天
6
0
Pandas DataFrame创建方法大全

Pandas是Python的数据分析利器,DataFrame是Pandas进行数据分析的基本结构,可以把DataFrame视为一个二维数据表,每一行都表示一个数据记录。本文将介绍创建Pandas DataFrame的6种方法。 创建...

汇智网教程
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部