Home > Backend Development > PHP Tutorial > 微信公众平台开发,外部调用接口传参,然后把参数以图文形式回复

微信公众平台开发,外部调用接口传参,然后把参数以图文形式回复

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 20:15:27
Original
1315 people have browsed it

微信公众平台开发,外部调用接口以URL形式传参,然后写用户关注后以图文形式回复,图片的url就是传过来的参数
。但是我微信关注后没有获得参数。


<code>http://xxx.duapp.com/wechat/api.php?id=http://203.111.111.111:1212/img/635932895447623934.png  

代码如下:


<?php /**</code></code>
Copy after login
Copy after login
    • wechat php test
      */
      //define your token

    $imgurl = $_GET['id'];

    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    $wechatObj->responseMsg();

    1. wechatCallbackapiTest
      {

      <code>   public function valid()
         {
             $echoStr = $_GET["echostr"];
      
             //valid signature , option
             if($this->checkSignature()){
                 echo $echoStr;
                 exit;
             }
         }
      
         public function responseMsg()
         {
             //get post data, May be due to the different environments
             $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
      
               //extract post data
             if (!empty($postStr)){
                     
                       $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                     $fromUsername = $postObj->FromUserName;
                     $toUsername = $postObj->ToUserName;
                     $keyword = trim($postObj->Content);
                     $time = time();
                     $imgurl  = $_GET['id'];  
                     $textTpl = "<xml>
                                 <tousername></tousername>
                                 <fromusername></fromusername>
                                 <createtime>%s</createtime>
                                 <msgtype></msgtype>
                                 <content></content>
                                 <funcflag>0</funcflag>
                                 </xml>";             
                     $ev = $postObj->Event;
                     if ($ev == "subscribe")
                     {
      
                         $PicUrl = $imgurl;
      
                         $Url    = $imgurl;
      
                         $textTpl = "<xml>
                                     <tousername></tousername>
                                     <fromusername></fromusername>
                                     <createtime>%s</createtime>
                                     <msgtype></msgtype>
                                     <articlecount>1</articlecount>
                                     <articles>
                                     <item>
                                     <title></title> 
                                     <description></description>
                                     <picurl></picurl>
                                     <url></url>
                                     </item>
                                     <item>
                                     </item></articles>
                                     </xml> ";     
      </code>
      Copy after login
      Copy after login
      <code>               $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);
                        echo $resultStr;
                     
                     }
                     
                     
                     
                     if(!empty( $keyword ))
                     {   
      
                           $msgType = "text";
                         switch ($keyword)
                         {
                         case "1";
                         $contentStr = "公司简介!";
                         break;
                         case "2";
                         $contentStr = "最新优惠!";
                         break;
                         case "3";
                         $contentStr = "图片链接如下:".$_GET['id'];
                         break;
                         default;
                         $contentStr = "欢迎光临!";
                                     
                         
                         }
                         
                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                         echo $resultStr;
                     }else{
                         echo "Input something...";
                     }
      
             }else {
                 echo "";
                 exit;
             }
         }
             
         private function checkSignature()
         {
             $signature = $_GET["signature"];
             $timestamp = $_GET["timestamp"];
             $nonce = $_GET["nonce"];    
                     
             $token = TOKEN;
             $tmpArr = array($token, $timestamp, $nonce);
             sort($tmpArr);
             $tmpStr = implode( $tmpArr );
             $tmpStr = sha1( $tmpStr );
             
             if( $tmpStr == $signature ){
                 return true;
             }else{
                 return false;
             }
         }</code>
      Copy after login
      Copy after login

      }

      ?>

    回复内容:

    微信公众平台开发,外部调用接口以URL形式传参,然后写用户关注后以图文形式回复,图片的url就是传过来的参数
    。但是我微信关注后没有获得参数。


    <code>http://xxx.duapp.com/wechat/api.php?id=http://203.111.111.111:1212/img/635932895447623934.png  
    
    代码如下:
    
    
    <?php /**</code></code>
    Copy after login
    Copy after login
    • wechat php test
      */
      //define your token

    $imgurl = $_GET['id'];

    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    $wechatObj->responseMsg();

    1. wechatCallbackapiTest
      {

      <code>   public function valid()
         {
             $echoStr = $_GET["echostr"];
      
             //valid signature , option
             if($this->checkSignature()){
                 echo $echoStr;
                 exit;
             }
         }
      
         public function responseMsg()
         {
             //get post data, May be due to the different environments
             $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
      
               //extract post data
             if (!empty($postStr)){
                     
                       $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                     $fromUsername = $postObj->FromUserName;
                     $toUsername = $postObj->ToUserName;
                     $keyword = trim($postObj->Content);
                     $time = time();
                     $imgurl  = $_GET['id'];  
                     $textTpl = "<xml>
                                 <tousername></tousername>
                                 <fromusername></fromusername>
                                 <createtime>%s</createtime>
                                 <msgtype></msgtype>
                                 <content></content>
                                 <funcflag>0</funcflag>
                                 </xml>";             
                     $ev = $postObj->Event;
                     if ($ev == "subscribe")
                     {
      
                         $PicUrl = $imgurl;
      
                         $Url    = $imgurl;
      
                         $textTpl = "<xml>
                                     <tousername></tousername>
                                     <fromusername></fromusername>
                                     <createtime>%s</createtime>
                                     <msgtype></msgtype>
                                     <articlecount>1</articlecount>
                                     <articles>
                                     <item>
                                     <title></title> 
                                     <description></description>
                                     <picurl></picurl>
                                     <url></url>
                                     </item>
                                     <item>
                                     </item></articles>
                                     </xml> ";     
      </code>
      Copy after login
      Copy after login
      <code>               $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);
                        echo $resultStr;
                     
                     }
                     
                     
                     
                     if(!empty( $keyword ))
                     {   
      
                           $msgType = "text";
                         switch ($keyword)
                         {
                         case "1";
                         $contentStr = "公司简介!";
                         break;
                         case "2";
                         $contentStr = "最新优惠!";
                         break;
                         case "3";
                         $contentStr = "图片链接如下:".$_GET['id'];
                         break;
                         default;
                         $contentStr = "欢迎光临!";
                                     
                         
                         }
                         
                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                         echo $resultStr;
                     }else{
                         echo "Input something...";
                     }
      
             }else {
                 echo "";
                 exit;
             }
         }
             
         private function checkSignature()
         {
             $signature = $_GET["signature"];
             $timestamp = $_GET["timestamp"];
             $nonce = $_GET["nonce"];    
                     
             $token = TOKEN;
             $tmpArr = array($token, $timestamp, $nonce);
             sort($tmpArr);
             $tmpStr = implode( $tmpArr );
             $tmpStr = sha1( $tmpStr );
             
             if( $tmpStr == $signature ){
                 return true;
             }else{
                 return false;
             }
         }</code>
      Copy after login
      Copy after login

      }

      ?>

    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Latest Issues
    php data acquisition?
    From 1970-01-01 08:00:00
    0
    0
    0
    PHP extension intl
    From 1970-01-01 08:00:00
    0
    0
    0
    How to learn php well
    From 1970-01-01 08:00:00
    0
    0
    0
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template