Jerry在公众号文章C4C和微信集成系列教程里曾经使用nodejs去消费C4C提供的标准webservice。
看一个具体例子:C4C里Individual Customers可以维护Social User Profile,在Jerry上面的公众号文章里,正是把微信用户的open ID维护到Social User Profile的SocialMediaAccountUserID字段去,如下图所示。
那么已知一个Social Profile ID,如何用nodejs通过Web Service的方式获得该Profile明细?
首先到Administrator->Input and Output Management->Service Explorer中取得标准的查询Social User profile的web service:
https://<host name>/sap/bc/srt/scs/sap/requestforsocialmediauserprofi
然后使用nodejs module request给这个url发一个HTTP post请求。
您可以参考我github上的源代码。
var request = require('request');
var config = require("../../config.js");
function getSocialMediaProfile(profileID) {
console.log("Jerry trace begin ***********************************");
console.log("url: " + config.socialMediaProfileGetEndPoint);
console.log("config.credential_qxl: " + config.credential_qxl);
var ogetSocialMediaProfileOptions = {
url: config.socialMediaProfileGetEndPoint,
method: "POST",
headers: {
"content-type": "text/xml",
'Authorization': 'Basic ' + new Buffer(config.credential_qxl).toString('base64')
},
body: '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global"><soapenv:Header/><soapenv:Body><glob:SocialMediaUserProfileRequest_sync>'
+'<SocialMediaUserProfileSelectionByElements>'
+'<SelectionBySocialMediaUserProfileID>'
+'<InclusionExclusionCode>I</InclusionExclusionCode>'
+'<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>'
+'<LowerBoundarySocialMediaUserProfileID >' + profileID + '</LowerBoundarySocialMediaUserProfileID>'
+'</SelectionBySocialMediaUserProfileID>'
+'</SocialMediaUserProfileSelectionByElements>'
+'</glob:SocialMediaUserProfileRequest_sync></soapenv:Body></soapenv:Envelope>'
};
console.log("body: " + ogetSocialMediaProfileOptions.body);
console.log("Jerry trace end ***********************************");
return new Promise(function(resolve,reject){
request(ogetSocialMediaProfileOptions,function(error,response,body){
console.log("Jerry web service response: " + body);
var soapreg = /.*<SocialMediaUserAccountID>(.*)<\/SocialMediaUserAccountID>.*/;
var soapresult = soapreg.exec(body);
if( soapresult.length === 2){
resolve(soapresult[1]);
}
});
});
}
module.exports = getSocialMediaProfile;
将上述代码另存为文件getSocialMediaProfileTest.js, 直接使用node getSocialMediaProfileTest.js执行。
从console能观察到发送的HTTP post请求的body和返回的响应内容:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
一些web知识(包括但不限于HTML,CSS,JS,NodeJS,VUE).zip 一些web知识(包括但不限于HTML,CSS,JS,NodeJS,VUE).zip 一些web知识(包括但不限于HTML,CSS,JS,NodeJS,VUE).zip 一些web知识(包括但不限于HTML,CSS,JS,NodeJS,...
Idea 配置前端 Web Nodejs 项目 Idea 配置前端 Web Nodejs 项目是指在 IntelliJ IDEA 集成开发环境中配置 Nodejs 项目的步骤。下面我们将详细讲解配置的步骤和相关知识点。 Idea 配置 Nodejs 项目 首先,我们需要...
绕云绕道 一个NodeJS工具绕过Cloudflare IUAM v2。这个怎么运作JS挑战( jsch )包含多个串联JavaScript挑战。 我正在尝试对所有这些进行逆向工程,在可以看到已经逆转的所有挑战。 验证码挑战可以在JS挑战之后提出...
在本项目中,我们探索的是如何使用Node.js与MySQL数据库构建一个Web应用程序。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O模型和丰富的生态系统而受到开发者喜爱。MySQL则是一种...
从分叉 书店 Bookstore是一个简单的Web应用程序,其中包括Express RESTful API... 单击阅读文章,其中简短提醒您什么是合同测试,Spring Cloud Contract如何实现它以及如何在多语言世界中使用Spring Cloud Contract。
Tencent Cloud API 3.0 SDK for Node.js node.js node.js node.js node.js node.js
用nodejs语言、http协议、mysql做数据库写的web服务器,这个是学习的时候自己跟着老师做的,数据库表在F:\workspace_Webstorm\segment\models\ConnPool.js里面,可以直接复制黏贴建表。
NODEJS WEB API 后台 可用于移动端后台服务用,是我为VC公司开发的,可以用戶登錄驗證及移動端,PC端調用,非常簡單實用
在Node.js环境中,开发...综上所述,`getUserMedia`是实现Web调用摄像头的关键技术,结合Node.js服务器和前端交互,可以构建出丰富的多媒体应用场景。通过不断学习和实践,你可以创建出更加高效和安全的Web摄像头应用。
标题中的"factorial-bm-Nodejs-G"指的是一个基于Node.js编写的Google Cloud Functions应用程序,主要用于计算阶乘。这个程序可能被设计成一个微服务,以高效、可扩展的方式处理阶乘计算请求。让我们深入了解一下这个...
功能提供了基于云的无服务器框架,用于开发解耦和弹性的应用程序以及集成流(使用SAP Cloud Integration)以支持异步通信原理。 与SAP S / 4HANA业务事件处理的直接集成可以有效地开发创新和扩展的扩展。 该存储库...
适用于Node.js的腾讯云SDK可帮助Node.js开发人员轻松调试和使用TencentCloud API。 本文档介绍了适用于Node.js的腾讯云SDK,以及如何通过提供的代码示例快速使用它。依赖环境NODEJS 7.10.1或更高版本在腾讯云控制台...
nodejs初级教程
Cloudfoundry 上的 SAP HANA、NodeJS 和 openUI5 本教程将向您展示如何部署使用 openUI5 作为前端、NodeJS 作为后端和 SAP HANA 作为数据库的应用程序。 常规的 SAP 和 SAP 数据库需要一个巨大的环境,但速度并不快...
基本情况 在一个项目开发过程中,遇到了小票自动打印的业务需求,原本计划使用NodeJS构建打印服务,调用本地电脑打印机进行数据打印,最后可参考资料偏少,由于项目紧急且对NodeJS的熟悉程度目前也还不够,所以转而...
iot-nodejs, 使用nodejs连接到IBM的客户端库和示例 node.js-客户端库node.js 客户机用于简化与Things平台的交互。 以下库包含有关使用 nodejs ibmiotf node 与组织内的设备和应用程序进行交互的说明和指导。客户端库...
web-react, web service和NodeJS的另一个反应开发工具 网络反应 另一个 web pack反应套件。为什么因为有许多反应的初学者工具包,但有些是非常具体且难以掌握的。想法是在堆栈中执行以下操作:你将学习如何与 ...
使用基本的 Node.js 服务器来测试在 Pivotal 的 Cloud Foundry(Pivotal Web 服务)上安装 Node.js 应用程序的难易程度。 可用路线 / /{名称} 关键特定代码 index.js 第 3 行显示了如何从 Pivotal 的环境变量中...
SAP事件网格的样本笔记SAP Cloud Platform Enterprise Messaging服务已重命名为SAP Event Mesh-在此查找更多信息描述SAP Event Mesh提供了一个基于云的消息框架,用于开发去耦和弹性服务以及集成流(使用SAP Cloud ...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...