[关闭]
@kyletiao 2015-10-27T04:52:01.000000Z 字数 1761 阅读 1479

微信企业号开发2

企业号开发 u9TechDay


开发一个企业号分几步

  1. 申请一个企业号
  2. 注册一个应用
  3. 打开开发者模式
  4. 注册回调
  5. 折腾这个应用吧

注册企业号

想看注册,请点这里转度娘

后面这些其实是在干啥

基本原理很简单。为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理。
微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这就里就是我们的具体实现)。
服务处理完毕,然后挥发给微信服务器,微信服务器再将具体响应回复到终端。
通信协议为:HTTP
数据格式为:XML
具体的流程如下图所示:
微信消息

消息

干货 一个微信机器人

写在前面

    首先你得找到企业号的id
    首先你得找到企业号的id
    首先你得找到企业号的id

注册一个应用
此处输入图片的描述

最重要的三个信息。
必须要求80或443端口,必须是有效域名

基本的环境搭建
upupw集成环境
socket log 巨牛无比的php调试工具
微信的消息解密库

开搞

告诉微信我们的连接已经准备好接受微信服务器的消息

  1. $encodingAesKey = "8eRBxuEppkPfWOhCfuD0rydDlW5c0Hv3iEPQNMIwsfN"; $token = "YvdFdFJG7zbjTp7DBYrAMA8";
  2. $corpId ="wx1c0b6c7f407a9f7e"; //这里已正确填写自己的corpid
  3. //公众号服务器数据
  4. $sReqMsgSig = $sVerifyMsgSig = $_GET['msg_signature'];
  5. $sReqTimeStamp = $sVerifyTimeStamp = $_GET['timestamp'];
  6. $sReqNonce = $sVerifyNonce = $_GET['nonce'];
  7. $sReqData = file_get_contents("php://input");;
  8. $sVerifyEchoStr = $_GET['echostr'];
  9. //这个东西 就是微信的解密库
  10. $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
  11. if($sVerifyEchoStr){
  12. $sEchoStr = "";
  13. $errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
  14. if ($errCode == 0) {
  15. print($sEchoStr);
  16. } else {
  17. print($errCode . "\n\n");
  18. }
  19. exit;
  20. }

接收微信发送的消息

  1. $sMsg = ""; //解析之后的明文
  2. $errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg);
  3. if ($errCode == 0) {
  4. $xml = new DOMDocument();
  5. $xml->loadXML($sMsg);
  6. $reqToUserName = $xml->getElementsByTagName('ToUserName')->item(0)->nodeValue;
  7. $reqFromUserName = $xml->getElementsByTagName('FromUserName')->item(0)->nodeValue;
  8. $reqCreateTime = $xml->getElementsByTagName('CreateTime')->item(0)->nodeValue;
  9. $reqMsgType = $xml->getElementsByTagName('MsgType')->item(0)->nodeValue;
  10. $reqContent = $xml->getElementsByTagName('Content')->item(0)->nodeValue;
  11. $reqMsgId = $xml->getElementsByTagName('MsgId')->item(0)->nodeValue;
  12. $reqAgentID = $xml->getElementsByTagName('AgentID')->item(0)->nodeValue;

获取到了消息 就可以干任何你想干的事情了

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注