关于微信:SAP系统和微信集成的系列教程之二如何通过微信公众号消费API

7次阅读

共计 2176 个字符,预计需要花费 6 分钟才能阅读完成。

本系列的英文版 Jerry 写作于 2017 年,这个教程总共蕴含十篇文章,发表在 SAP 社区上。

系列目录

(1) 微信开发环境的搭建
(2) 如何通过微信公众号生产 API(本文)
(3) 微信用户关注公众号之后,主动在 SAP C4C 零碎创立客户主数据
(4) 如何将 SAP C4C 主数据变动推送给微信公众号
(5) 如何将 SAP UI5 利用嵌入到微信公众号菜单中
(6) 如何通过 OAuth2 获取微信用户信息并显示在 SAP UI5 利用中
(7) 应用 Redis 存储微信用户和公众号的对话记录
(8) 微信公众号的地图集成
(9) 如何将微信用户发送到微信公众号的音讯保留到 SAP C4C 零碎
(10) 如何在 SAP C4C 零碎间接回复音讯给微信公众号的订阅者

最近有不少敌人在微信上向我征询 SAP 零碎和微信公众号集成的问题,因而我把过后写的英文版翻译成中文,从新公布在我的公众号上。

须要留神的是,时隔三年,微信公众号的开发流程可能有所变动,请大家自行甄别。和微信公众号集成的零碎,我三年前抉择的是 SAP Cloud for Customer.

始终牢记咱们这个系列的指标是学会如何用微信公众号同 SAP 零碎 (SAP Cloud for Customer,以下简称 C4C) 集成。要实现这个指标,就得通过微信公众号生产 SAP C4C 的 OData API.

作为学习的第一步,咱们首先学习如何在微信公众号调用一般的 API,而非 SAP C4C OData API.

假如这样一个简略的场景:用户关注微信公众号之后,通过微信 app 给公众号发送一些文字信息。公众号收到这些文字信息,会转发给咱们在本系列第一篇文章 微信开发环境的搭建 里提到的微信音讯服务器。此时微信音讯服务器接管到转发过去的文字信息后,调用一些具备人工智能的 API,将 API 的响应通过微信 app 回复给用户。

绑定了微信音讯服务器的微信公众号,在这个场景里表演的其实就是一个简略的聊天机器人的角色。用户和微信公众号通过一问一答的形式进行交互。

Jerry 还记得上大学的时候,学习《Unix 网络编程》这门专业课,一个练习就是,通过套接字自行实现一对客户端和服务器,客户端发送一个字符串给服务器,服务器接管后一成不变地将其返回,即所谓的 Echo Server.

在入手实现微信聊天机器人之前,咱们先升高难度,实现一个简略的微信 echo 服务,即无论用户发送任何信息给公众号,都会收到信息自身,再加上 ”Add by Jerry” 的前缀。

本文用到的我的项目残缺源代码,在我的 Github 可能下载。

首先在 server.js 里,利用 nodejs express 库启动一个 web 服务器:

上图第二行 routesEngine 的实现,位于 index.js 里。微信 app 收到用户通过微信 app 发送的文本音讯时,会通过一个 HTTP POST 申请转发给微信音讯服务器。微信音讯服务器接管到该申请后,调用第五行的 echoService 解决:

echoService 的实现位于文件 echo.js 中:首先从变量 req 蕴含的 HTTP 申请中,将用户输出的文本信息解析进去(第 11 行),而后加上 ”Add by Jerry: “ 的前缀,并将后果存储在变量 content 里(第 13 行), 最初调用本人开发的工具办法 replyMessage,将加上前缀的文本信息返回给用户。

上图第 15 行的 replyMessage 工具办法,须要从微信 app 转发给微信音讯服务器的 HTTP POST 申请里, 解析登程送音讯的微信用户 id,而后再将拼接了 ”Add by Jerry: “ 前缀的内容发送给该 id 标识的微信用户。

replyMessage 的实现位于 replyMessage.js 中:

有了 Echo Service 的实现教训之后,再实现微信聊天机器人就没有什么难度了。

只须要把 index.js 里接管到 HTTP Post 申请之后的操作,从调用 echoService 改成调用新的实现,tuningService 即可。

调用图灵 API 的 tuningService 函数的实现源代码在这里下载。

我 2017 年的时候应用的图灵 API 是如下网站提供的:

申请一个 API key, 粘贴到下图第 6 行的 url 里:

将用户输出的文本信息解析进去,存储到第 20 行的 body 变量里,应用 encodeURI 解决之后,间接拼接到图灵 API url 尾部,而后第 27 行应用 request 函数调用图灵 API. 在匿名回调函数里取得 API 的响应,最初调用工具办法 replyMessage 将响应通过微信音讯服务器发送给微信 app.

本系列的下一篇文章,咱们会真正开始和 SAP 零碎的集成:每当新的微信用户关注微信公众号时,咱们会主动为该微信用户在 SAP C4C 零碎创立一个客户主数据。

感激浏览。

本系列的其余文章

(1) 微信开发环境的搭建
(2) 如何通过微信公众号生产 API(本文)
(3) 微信用户关注公众号之后,主动在 SAP C4C 零碎创立客户主数据
(4) 如何将 SAP C4C 主数据变动推送给微信公众号
(5) 如何将 SAP UI5 利用嵌入到微信公众号菜单中
(6) 如何通过 OAuth2 获取微信用户信息并显示在 SAP UI5 利用中
(7) 应用 Redis 存储微信用户和公众号的对话记录
(8) 微信公众号的地图集成
(9) 如何将微信用户发送到微信公众号的音讯保留到 SAP C4C 零碎
(10) 如何在 SAP C4C 零碎间接回复音讯给微信公众号的订阅者

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0