主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文介绍的内容是关于微信微信官方账号开发的完整教程,有一定的参考价值。现在分享给大家,有需要的朋友可以参考一下。
因为工作需要,这两年在微信微信官方账号和小程序上做的项目比较多。所以我要写一个综合制作教程。当然最好的教程还是微信工作平台的文档。我就说说我作品中的制作过程吧。所有相关文章的源代码都托管在我自己的github上。请注意:点击地址打开链接。接下来,我们开始我们的教程。
1.微信和公众平台的区别:微信:即时聊天软件,属于一对一的关系。
微信公众平台:属于一对多关系。
2.订阅号和服务号的区别:订阅号:每天可以群发一条消息给个人或媒体,默认没有自定义菜单。服务器号:每月可群发4条消息给企业或银行,默认有自定义菜单。如果运营主体是机构(如企业、媒体、公益组织),可以申请一个服务号。组织和个人可以申请订阅号,但个人不能申请服务号。
3.公共平台的两种模式:1。编辑方式:直接使用微信公众平台提供的后台操作进行用户交互。编辑模式可用于以下场景:不具备开发能力的运营人员,主要是品牌推广、新闻媒体、自助客服的公众账号。运营初期,不需要特殊功能,开发模式系统升级,出现故障等特殊情况。
2.开发者模式:直接使用接口代码实现用户通信。
4.微信公众平台前期准备:注册公众平台,拥有在线服务器。
5.了解编辑模式:原理:
5.1群发消息:
选择要批量发送的对象和材料:
5.2:自定义菜单:启用自定义菜单并打开:
点击查看,进入设置界面:
5.3自动回复:
以上主要是关于编辑模式的使用。我想很多人应该会用。其实和我们平时编辑论坛的文章和帖子差不多。
6.开发者模式的原则:
6.1第一步打开开发者模式:注意:打开开发者模式后,编辑模式下的部分功能无法正常使用。也就是说,开发者模式与编辑模式冲突。进入设置界面:
修改配置:
结果设置如下:填写您的服务器文件地址,令牌,点击提交并验证。如果提交并通过验证,将进入开发者模式。
6.2我行的验证码如下:
public valid(){//获取随机字符串$ echoStr = input( ;echostr );If($echoStr){//验证接口的有效性,echoStr参数if($ this ->;check signature()){ echo $ echoStr;退出;} } else { $ this - gt;response msg();}}受保护的函数Check Signature(){//微信加密签名$ Signature = input( ;签名 );$ timest = input( ;时间戳 );//timest $ nonce = input( ;nonce );//随机数$ token = " weixin ;//令牌值,必须和你设置的$ tmparr = array ($ token,$ timest,$ nonce)相同;sort($tmpArr,SORT _ STRING);$tmpStr =内爆($ TM parr);$ tmp str = sha1($ tmp str);if($ tmpStr = = $ signature){ return true;} else {返回false}}微信对上述代码中变量的来源有详细的解释。我建的微信官方账号用的是PHP 7.0版和TP5.0框架。这里解释一下。
上面的代码只会执行一次。开启开发者模式后,不会执行。只会执行上面代码中的代码。
回应g
方法。
让我们上传一个测试代码来尝试回复短信。不管有没有回复,代码如下:
公共函数responseMsg(){ //get post数据,可能是由于环境不同$ postStr = file _ get _ contents( # 39;PHP://input # 39;);//提取帖子数据if(!empty($ postStr)){/* libxml _ disable _ Entity _ loader是为了防止xml外部实体注入,最好的办法是自己检查XML的有效性*/libxml _ disable _ Entity _ loader(true);$ post obj = SimpleXML _ load _ string($ postStr, # 39;SimpleXMLElement # 39,LIBXML _ NOCDATA);$ from username = $ postobj - gt;from用户名;$ touser name = $ postobj - gt;ToUserName$ keyword = trim($ postobj - gt;内容);$ time = time();$ textTpl = ltxml gt ltToUserName gt lt!由于微信的网页授权限制,我们可以申请一个测试账号。我在这里使用测试帐户。上面的开放开发者模式是一样的。申请一个测试账号就行了。申请地点:
如果上面的代码出现,我们已经成功地测试了它。接下来,我们开始获取access_token的值。这个参数对我们来说非常重要。因为
Access_token是微信官方账号的全局唯一接口调用凭证,微信官方账号在调用各个接口时需要使用access_token。开发者需要妥善保管。至少应为access_token的存储保留512个字符空间。access_token的有效期目前是2小时,需要定期刷新。重复获取会导致上次获取的access_token失效。Access_token是身份验证。其他接口基本上都需要使用这个值进行认证。
7.access_token获取:(可以本地测试)7.1查看接口描述:
获取访问令牌的方法1:
结果如下:
获取访问令牌的方法2:
结果如下:
我们开始封装上面的代码,因为access_token一天只能调用2000次,所以要缓存,以达到复用的效果。
7.2:curl封装发送请求并获取access_token封装:
//获取请求的地址的方法
我
f(!函数_ exists( ;http _ curl )){function http_curl($url,$data =array(),$ method = 获取 ,$ returnType = json ) {//1.打开会话$ ch = curl _ init();//2.设置参数curl _ setopt ($ ch,curl opt _ return transfer,true);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);if($方法!= 获取 ){curl_setopt($ch,CURLOPT_POST,TRUE);curl_setopt($ch,CURLOPT_POSTFIELDS,$ data);}curl_setopt($ch,CURLOPT_URL,$ URL);//执行session $ JSON = curl _ exec($ ch);curl _ close($ ch);if($ returnType = = ;json ){return json_decode($json,true);} return $ json} }如果(!function _ exists( # 39;get _ access _ token # 39)){ function get _ access _ token(){ $ appid = ;wx 1 ba 8 f 59d 9 e 2 c 0 be 0 ;;//appid $ secret of we chat = " 9e 65155599 FB 9 EC 047455 e 197 ff 6e 121 ;;//微信的开发者密钥//读取缓存中的内容include _ once " mymemcache . PHP ;;//引入缓存方法文件$ obj = new \ MyMemcache( ; );$ value = $ obj - gt;get($ appid);如果(!$ value){ $ URL = ;https://api.weixin.qq.com/cgi-bin/token?格兰特类型=客户证书 appid = 。$appid。" secret = 。$ secret$ result = http _ curl($ URL);$ value = $ result[ # 39;访问令牌 # 39;];$ obj - gt;set($appid,$value,7000);}返回$ value}}以上代码是我对这两种方法的封装,其中我们使用了缓存技术:缓存方法如下:
// memcache操作类
类MyMemcache { public $ connpublic $ isMemcache = truepublic function _ _ construct($ host = ;127.0.0.1,$ port = # 3911211'){//如果(class _ exists( # 39;MyMemcache # 39)){ $ obj = new \ Memcache();} else { $ this - gt;isMemcache = false$ obj = new \ Memcached();} $ obj - gt;addServer($主机,$端口);$ this - gt;conn = $ obj}//获取数据公共函数Get($ key){ return $ this ->:conn - gt;get($ key);}//设置数据公共函数集($ key,$ value,$ expire = 0){ if($ this ->;isMemcache){ $ this - gt;conn ->;set($key,$value,0,$ expire);} else {//Memcached extension $ this ->:conn ->的运行方式;set($key,$value,$ expire);}}}综合以上三种方法,我们可以得到access_token的值,保存在缓存系统中,7000s再得到。
以上步骤完成后,即使我们已经做好了微信微信官方账号开发的所有基础准备,我们也将开始开发和替换微信开发者文档。这是第一部分。.....
相关文章推荐:1。微信微信官方账号开发完整教程2。微信微信官方账号开发完整教程3。微信微信官方账号开发完整教程4。相关视频推荐:1.php微信界面开发实践项目Chatbot+微信支付2视频教程。开发微信小程序的视频教程以上是微信微信官方账号开发完整教程1的详细内容。更多请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:微信官方账号开发完整教程一(微信微信官方账号开发完整教程) https://zhujicankao.com/80470.html
评论前必须登录!
注册