微信对接总结
一、 微信公众平台
概念
微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,进行开发。主要包括公众号消息会话,公众号内网页
1. 准备工作
1、 申请独立ip(开放80端口)的外网服务器
2、 微信公众号、企业号。
为了方便调试申请口开通开发者测试号(接口测试无限制)
3、.net语言稳定的微信开发SDK senparc.Weixin
2. 使用场景
系统通过公众号与关注者进行用户微信绑定,与用户互动,(收发消息,通知提醒,信息修改)
3. 注意事项
1, 服务器申请,2核1G,2核2G,4核8G 最终才满足安装vs,安装sql
2, Sdk集成到项目采用webform类型,不用mvc,sdk介绍中的例子主要为mvc,
3, 既然采用sdk要意识到微信官方的接口文档往往就不适用了,要了解sdk的api
4, 要理解微信的参数含义,
token:服务器认证密钥,
appId:开发者id,
AppSecret:开发者密码,
ip白名单:服务器的ip注册,
EncodingAESKey:消息密钥,(消息加密需要)
access_token:获取到的凭证通过开发者账户密码,主动请求微信服务器需要
5, 服务器验证,程序开发的起点,验证前后耽误了两天,1,首先事需要外网开发的80端口服务,2,系统安装部署北京环境3,访问mapping配置地址解析4,(原生)完成get请求解析返回echostr(微信服务器发送的随机数,程序返回则通过)
6, 微信常见功能调用api
1、 用户发送消息接收后回复,微信官方文档称作被动回复功能,sdk封装在messageHandler类中
2、 向用户发消息可以群发,利用客服功能发送,还可以发送模板消息。通知等消息都是模板消息,sdk调用apiTemplateApi.SendTemplateMessage
3、 用户页面跳转用微信文档中提到的页面授权,位置在下面介绍的路径
对应sdk的api为OAuthAPIs.OAuthApi.GetAuthorizeUrl、
4、 客服注意菜单点击无法相应进入客服模式,要判断文本,经统计,关键字一般为“你好“,“在吗“,客服介绍: http://www.cnblogs.com/txw1958/p/weixin-multi-customer-service.html
5、 添加客服api:https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN
7, 对接sdk注意事项
1. 首先用mvc模式运行,最开始因为vs2012不能加载nuget最近包管理工具,以致sdk以来不能下载对应版本,后来通过百度,查询到跑起来的话需要降级,就去nuget官网查询所有没引入的以前的降级版。
2. 这样就造成了大量的工作量,而且运行还会对现有微信官方api的调用,封装不匹配。后来领导采用源码编译出最新版本sdk.dll文件,解决了vs版本低,和依赖版本低的问题。程序就跑起来了。
3. 官网例子是在vs2017,.net版本4.5的环境中部署运行的。
4. 还要就是netframwork版本4.0的问题,北京项目从2.0升级到4.0,后来领导果断升到4.5才运行成功
5. Mvc跑起来与项目集成出现问题,需要运行官网提到的webform项目。这个项目没有例子(给的例子就是错的,但是有实现大体思路),对此,领导结合源码写出了webform并与微信服务器建立联系。注,在新建环节还会有配置运行起来,访问不到aspx页面。这时候要仔细检查配置项目,不行更换文件夹重新建立项目运行访问。
6. SDK 是一套.dll,要根据需要添加,千万防止调用api路径不通导致功能不通。因为sdk中好多相同名称,传参类似的api比如模板发送,获取accse_token等
8, Nuget工具安装.dll使用
9, 网站配置要注意.net基本配置,版本要匹配,项目路径要对,.dll编译地址要统一
4. 案例介绍
5. 技术介绍
1、开发者文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
2、Sdk官网:https://sdk.weixin.senparc.com/Document
3、配置 ASP.NET 应用程序的详细信息:http://go.microsoft.com/fwlink/?LinkId=169433
4、.NET 4.5 的 web.config 更改说明:http://go.microsoft.com/fwlink/?LinkId=235367。
二、 微信开放平台
①地址: https://open.weixin.qq.com/
微信开放平台:面向的是开发者和第三方独立软件开发商。开放平台的文档似乎包含了微信开放平台文档里面的接口。
三、微信小程序
https://mp.weixin.qq.com/wxopen/waregister?action=step1