您的当前位置:首页正文

微信企业号开发(2)——建立连接(下)

来源:要发发知识网

上一篇,介绍了与微信企业号建立连接的三种方式,下面我们一起来看一下具体该如何去建立连接

p1.png

获取:

p2.png

有了AccessToken,就可以去主动调用企业号接口了

2、回调模式:
1.在应用的模式选择里选择回调模式

p3.png

2.设置“回调URL及密钥”


p4.png

当开启回调模式时,需要提供三个参数
URL,这个是企业用来接收企业号推送请求的地址(必须要要有一个外网环境,否则企业号是无法访问的)
Token,这个用于生成签名,可以随意填写(用提供的随机获取功能获取即可)
EncodingAESKey,这个是用于消息体加密,是AES密钥的Base64编码(用提供的随机获取功能获取即可)

当提交上面三个参数时,企业号会对Url进行验证。企业号会向提供Url发送一个Get请求,Get请求携带四个参数,将其中的echostr参数解密并返回明文,如果正确生效,回调模式才可以开启
p5.png
 这里我创建了一个ashx文件,来处理URL的验证
p6.png
如果顺利的话,你会看到下面的样子
p8.png
在上面我们看到config里有一些必填项,其中有一项signature需要自己计算一下,
参与签名的字段包括
1.noncestr(随机字符串),
2.有效的jsapi_ticket(生成的方法:)
3.timestamp(时间戳),
4.url(需要调用api的页面地址)。
计算规则
对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。
例如:
nonceStr:93a81b0a-b9c2-42be-ac20-2c0236528285
jsapi_ticket:bxLdikRXVbTPdHSM05e5u0aVWGh5lD3aIRuXZsEKy4hOSXD1wbsylhvkOot1nqNIVG1bRa8BkNz0z3b2TLx_Kg
timestamp:1442373349
url:
组织成string1
string1=jsapi_ticekt=bxLdikRXVbTPdHSM05e5u0aVWGh5lD3aIRuXZsEKy4hOSXD1wbsylhvkOot1nqNIVG1bRa8BkNz0z3b2TLx_Kg&noncestr=93a81b0a-b9c2-42be-ac20-2c0236528285&timestamp=1442373349&url=
做SHA1加密
signature=sha1(string1)
在微信的API文档里给出了PHP,Node,Java等签名的算法,这里我提供一个C#的签名算法 p9.png
配置好上面的内容,就可以在微信里的网页中调用API了