温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

微信公众号生成新浪短网址的实现

发布时间:2021-06-03 16:59:34 来源:亿速云 阅读:147 作者:Leah 栏目:web开发

微信公众号生成新浪短网址的实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<?php define("TOKEN", "xiao"); //用于回复用户消息 function responseMsg(){   $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];   if (!empty($postStr)){     $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);     $fromUsername = $postObj->FromUserName;     $toUsername = $postObj->ToUserName;     $MsgT = $postObj->MsgType;     $time = time();     //如果用户发的text类型     if($MsgT=="text"){       $key = trim($postObj->Content);       $textTpl = "<xml>             <ToUserName><![CDATA[%s]]></ToUserName>             <FromUserName><![CDATA[%s]]></FromUserName>             <CreateTime>%s</CreateTime>             <MsgType><![CDATA[%s]]></MsgType>             <Content><![CDATA[%s]]></Content>             </xml>";        $msgType = "text";       //生成短网址       $dwzapi = "http://api.t.sina.com.cn/short_url/shorten.json?source=3271760578&url_long=".$key;       $dwzpost = file_get_contents($dwzapi);       $dwzjsondecode = json_decode($dwzpost,true);       //发送       $contentStr = $dwzjsondecode[0]['url_short'];              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);       echo $resultStr;       exit;     }else{       $textTpl = "<xml>             <ToUserName><![CDATA[%s]]></ToUserName>             <FromUserName><![CDATA[%s]]></FromUserName>             <CreateTime>%s</CreateTime>             <MsgType><![CDATA[%s]]></MsgType>             <Content><![CDATA[%s]]></Content>             </xml>";        $msgType = "text";            //发送       $contentStr = "请发送链接";              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);       echo $resultStr;       exit;     }     //如果用户发的event(事件)类型     if($MsgT=="event"){       $Event = $postObj->Event;       if ($Event==subscribe) {         $contentStr = "欢迎关注";       }else{         $contentStr = "希望您下次关注,但您收不到此条消息了";       }       $textTpl = "<xml>             <ToUserName><![CDATA[%s]]></ToUserName>             <FromUserName><![CDATA[%s]]></FromUserName>             <CreateTime>%s</CreateTime>             <MsgType><![CDATA[%s]]></MsgType>             <Content><![CDATA[%s]]></Content>             </xml>";        $Title = $postObj->Title;       $Description = $postObj->Description;       $Url = $postObj->Url;       $msgType = 'text';       $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);       echo $resultStr;       exit;     }   }else{       echo "不对";       exit;   } }   $echoStr = $_GET["echostr"];   //如果有$echoStr说明是对接   if (!empty($echoStr)) {     //对接规则     $signature = $_GET["signature"];     $timestamp = $_GET["timestamp"];     $nonce = $_GET["nonce"];     $token = TOKEN;     $tmpArr = array($token, $timestamp, $nonce);     sort($tmpArr, SORT_STRING);     $tmpStr = implode( $tmpArr );     $tmpStr = sha1( $tmpStr );     if( $tmpStr == $signature ){       echo $echoStr;     }else{       echo "";       exit;     }   }else{     responseMsg();   } ?>

配置方法:

1、登录公众号
2、打开基本配置

微信公众号生成新浪短网址的实现

3、填写上面代码的url

微信公众号生成新浪短网址的实现

关于微信公众号生成新浪短网址的实现问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI