美文网首页
微信企业号开发(2)——建立连接(下)

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

作者: 说话的萝卜 | 来源:发表于2015-09-17 17:46 被阅读323次

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

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

    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(生成的方法: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&timestamp=1442373349&url=http://xxx.xxx.com/WXProject/index.htm
    做SHA1加密
    signature=sha1(string1)
    在微信的API文档里给出了PHP,Node,Java等签名的算法,这里我提供一个C#的签名算法 p9.png
    配置好上面的内容,就可以在微信里的网页中调用API了

    相关文章

      网友评论

          本文标题:微信企业号开发(2)——建立连接(下)

          本文链接:https://www.haomeiwen.com/subject/kqybcttx.html