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

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

1、主动调用:
在上一篇中,我们知道在主动调用企业号的功能时,需要提供一个AccessToken,下面我们来获取这个AccessToken
获取AccessToken的接口是:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=CorpId&corpsecret=Corpsercert
这里我们需要获取两个参数corpId,corpsecret,这两个参数的获取方式如下图:

微信企业号开发(2)——建立连接(下)_第1张图片
p1.png

获取:

微信企业号开发(2)——建立连接(下)_第2张图片
p2.png

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

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

微信企业号开发(2)——建立连接(下)_第3张图片
p3.png

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


微信企业号开发(2)——建立连接(下)_第4张图片
p4.png

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

当提交上面三个参数时,企业号会对Url进行验证。企业号会向提供Url发送一个Get请求,Get请求携带四个参数,将其中的echostr参数解密并返回明文,如果正确生效,回调模式才可以开启
微信企业号开发(2)——建立连接(下)_第5张图片
p5.png
 这里我创建了一个ashx文件,来处理URL的验证

微信企业号开发(2)——建立连接(下)_第6张图片
p6.png

如果顺利的话,你会看到下面的样子

这样回调模式就配置好了。
3、JSAPI模式
JSAPI模式,和普通的Js框架一样,需要引用一个js库,同时还需要做一些设置
微信企业号开发(2)——建立连接(下)_第7张图片
p8.png

在上面我们看到config里有一些必填项,其中有一项signature需要自己计算一下,
参与签名的字段包括
1.noncestr(随机字符串),
2.有效的jsapi_ticket(生成的方法: https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=ACCESS_TOKE)
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: http://xxx.xxx.com/WXProject/index.htm
组织成string1
string1=jsapi_ticekt=bxLdikRXVbTPdHSM05e5u0aVWGh5lD3aIRuXZsEKy4hOSXD1wbsylhvkOot1nqNIVG1bRa8BkNz0z3b2TLx_Kg&noncestr=93a81b0a-b9c2-42be-ac20-2c0236528285×tamp=1442373349&url= http://xxx.xxx.com/WXProject/index.htm
做SHA1加密
signature=sha1(string1)
在微信的API文档里给出了PHP,Node,Java等签名的算法,这里我提供一个C#的签名算法

微信企业号开发(2)——建立连接(下)_第8张图片
p9.png

配置好上面的内容,就可以在 微信里的网页中调用API了

你可能感兴趣的:(微信企业号开发(2)——建立连接(下))