微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3060字,纯文字阅读大概需要5分钟。
内容图文
![微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送_PHP教程](/upload/InfoBanner/zyjiaocheng/189/d22a6a828ddc41d0b1ea2484cd651b1e.jpg)
微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送
背景:
获取第三方平台令牌(component_access_token),增加了component_verify_ticket参数。component_verify_ticket由公众平台每隔10分钟,持续推送给第三方平台方(在创建公众号第三方平台审核通过后,才会开始推送)。
目标:
接收微信服务器推送的component_verify_ticket
文档说明:(参见微信开放平台文档)
推送component_verify_ticket协议
在公众号第三方平台创建审核通过后,微信服务器会向其“授权事件接收URL”每隔10分钟定时推送component_verify_ticket。第三方平台方在收到ticket推送后也需进行解密(详细请见【消息加解密接入指引】),接收到后必须直接返回字符串success。
于是在开放平台管理中心中寻找“授权事件接收URL”,如下图。
截获微信推送component_verify_ticket的POST请求地址:
http://[授权事件接收URL]?encrypt_type=aes
×tamp=1438521627
&nonce=33431792
&msg_signature=xxxxxx
&signature=xxxxxxx
请求内容格式:
知晓了微信推送xml的格式,接下来要做的就是解密xml,于是继续阅读文档,(参见 微信开放平台 消息加解密指引)
关于解密,微信公众平台提供了c++, php, java, python, c# 5种语言的示例代码(点击下载)
这里基于php版本的示例代码来实现PHP接收component_verify_ticket(基于CI框架)
1 /** 2 *“授权事件接收URL”每隔10分钟接收component_verify_ticket 3 **/ 4 public function ticket(){ 5 require_once(DPL_LIBS.'wx/wxBizMsgCrypt.php'); 6 $wx = new WXBizMsgCrypt($this->token, $this->encodingAesKey, $this->appId); 7 8 $inputs = (object)array( 9 'encrypt_type' => '', 10 'timestamp' => '', 11 'nonce' => '', 12 'msg_signature' => '', 13 'signature' => '' 14 ); 15 foreach ($inputs as $key => &$value) { 16 $tmp = $this->input->get($key); 17 if (!empty($tmp)){ 18 $value = $tmp; 19 } 20 } 21 $this->save_key_value('component_verify_ticket_get',json_encode($inputs)); 22 23 $fp = fopen("php://input","r"); 24 if (isset($fp) && !empty($fp)){ 25 $this->post_xml = stream_get_contents($fp); 26 if (empty($this->post_xml)){ 27 return; 28 } 29 } 30 $this->save_key_value('component_verify_ticket_post',$this->post_xml); 31 32 $this->xml = str_replace('AppId', 'ToUserName', $this->post_xml); 33 34 $msg_xml = ''; 35 $errCode = $wx->decryptMsg($inputs->msg_signature, $inputs->timestamp, $inputs->nonce, $this->xml, $msg_xml); 36 37 $componentVerifyTicket = $this->parse_xml($msg_xml,'ComponentVerifyTicket'); 38 39 $this->save_key_value('component_verify_ticket',$componentVerifyTicket); 40 if ($errCode == 0){ 41 echo "success"; 42 }else{ 43 } 44 return; 45 }
分享请注明:
原文出自http://www.cnblogs.com/wenki/p/4700828.html
http://www.bkjia.com/PHPjc/1042462.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1042462.htmlTechArticle微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送 背景: 获取第三方平台令牌(component_access_token),增加了component_verify...
内容总结
以上是互联网集市为您收集整理的微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送_PHP教程全部内容,希望文章能够帮你解决微信第三方平台定时接收component_verify_ticket,第三方平台ticket推送_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。