BotSharp/docs/集成微信公众号/集成微信公众号.md
2018-10-24 09:16:21 +08:00

86 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 集成微信公众号
tags: BotSharp,微信公众测试号
grammar_cjkRuby: true
---
集成微信公众号主要是将BotSharp与微信公众号对接起来搭建一个环境为后续工作做好准备。
----------
# BotSharp的配置
要与微信公众号对接首先要成功运行BotSharp。下面详细讲解运行BotSharp的步骤
## 加载项目
加载的项目为botsharp-channel-weixin和botsharp-dialogflow两个项目。
项目botsharp-channel-weixin为腾讯微信BotSharp的通道模块加载此项目可以省去编写微信通道模块的过程当然也可以根据自己的需求去编写微信的通道模块。
项目文件botsharp-channel-weixin下载地址(https://github.com/Oceania2018/botsharp-channel-weixin)将botsharp-channel-weixin和botsharp-dialogflow项目放置到BotSharp同级的目录下。并加载到BotSharp中。
![](./集成微信公众号图片/图片1.png)
右键点击“==依赖项==”、“==添加引用==”把botsharp-channel-weixin项目添加到BotSharp.WebHost的引用中。
![](./集成微信公众号图片/图片2.png)
找到BotSharp.WebHost下的app.json,修改moduleBasePath和botsharp-dialogflow的Path路径。程序会根据路径找到其项目的.dll。
![](./集成微信公众号图片/图片3.png)
## 运行BotSharp
加载项目完毕运行BotSharp项目出现如下的黑色的控制台程序表示程序找到了botsharp-dialogflow的.dll,项目运行成功。
![](./集成微信公众号图片/BotSharp运行结果.png)
运行成功后,打开网址为(http://localhost:3112/index.html)的网页此网页所显示的为BotSharp的接口列表。
![](./集成微信公众号图片/3112.png)
# 对接微信公众号
## 申请微信测试号
在微信公众平台认证之前,我们可以先申请一个测试的公众号来进行测试,这对开发人员来说还是有很大好处的。(https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login)
## 测试号接口信息配置
**1)申请服务器**
我们所要填写的url必须是外网能够访问到的服务器地址而且必须是80端口通过服务器的地址你要能够让微信访问到你的项目。
![](./集成微信公众号图片/微信接口配置信息1.png)
我们需要把内网映射出去变成能够访问的外网我们采取一个简单的方法通过ngrok进行内网穿透。ngrok工具的下载地址(http://ngrok.ciqiuwl.cn/)下载完成后解压缩。
找到apps.bat文件点击右键打开记事本进行编辑,执行 *ngrok -config=ngrok.cfg -subdomain xxx 80*//(xxx 是你自定义的域名前缀),如执行*ngrok -config=ngrok.cfg -subdomain sss 3112* ,双击弹出一个黑窗体,该黑窗体显示的域名就是映射出去的网址。
也有其它的方法得到外网网址,如通过路由器映射,可自行通过百度上网查询。
![](./集成微信公众号图片/ngrok黑窗体.png)
其中http://sss.ngrok.xiaomiqiu.cn即为映射的外网IP。
**2)填写接口配置信息**
url填写 http://外网IP/wx
Token自主设置这个token与公众平台wiki中常提的access_token不是一回事。这个token只用于验证开发者服务器。
![](./集成微信公众号图片/配置接口url.png)
Token是用于交互安全认证的可任意填写但要与服务端的校验微信的Controller一样。
打开BotSharp.Webhost下的channels.weixin.json
![](./集成微信公众号图片/程序配置信息.png)
正确填写Token、AppId字符串。其中Token要与微信测试号中的Token相同。
![](./集成微信公众号图片/配置接口Token.png)
填写完毕打开ngrok并运行BotSharp项目则可以成功提交微信测试号的接口配置信息。
![](./集成微信公众号图片/接口配置成功.png)
填写JS接口安全域名域名可随意填写。微信扫描关注测试公众号。
至此,集成微信公众号完成。