美文网首页
PHP微信公众号开发入门(三)

PHP微信公众号开发入门(三)

作者: 无聊的电风扇 | 来源:发表于2017-11-11 14:36 被阅读0次

上一篇文章已经介绍了如何回复图片,文字,图文,这篇再来介绍一下其他格式的内容回复方式。

微信规定个人开发者,也就是订阅号无法通过微信认证,也就导致了很多好玩的功能我们都不能用,但是简单的公众号开发已经足够了。

1.音频

根据官方文档显示,我们需要在给用户回复音频的时候,需要发送给微信方一个这样的xml

        <xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>12345678</CreateTime>
        <MsgType><![CDATA[music]]></MsgType>
        <Music>
        <Title><![CDATA[TITLE]]></Title>
        <Description><![CDATA[DESCRIPTION]]></Description>
        <MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
        <HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
        <ThumbMediaId><![CDATA[media_id]]></ThumbMediaId>
        </Music>
        </xml>
image.png

官方给出的说明中,ThumbMediaId是必填,但是这需要我们调用微信的素材上传接口,而后获取素材的id,但是我们个人开发者并没有 这个权限,所以我们只能发送给微信一条这样的xml

        <xml>
        <ToUserName>%s</ToUserName>
        <FromUserName>%s</FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[music]]></MsgType>
        <Music>
        <Title><![CDATA[talking to the moon]]></Title>
        <Description><![CDATA[火星哥(Bruno Mars)深情演唱]]></Description>
        <MusicUrl><![CDATA[http://helper.aaa.com/music.mp3]]></MusicUrl>
        <HQMusicUrl><![CDATA[http://helper.aaa.com/music.mp3]]></HQMusicUrl>
        </Music>
        </xml>

之后我们再通过代码来整理为自己需要的xml,发送给微信方就可以了,这样用户就会接收到一条这样的消息。还有就是现在mp3文件的URL不是很好找啊……


image.png

2.视频

同样的,先看文档,微信需要我们给他这样的xml

        <xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>12345678</CreateTime>
        <MsgType><![CDATA[video]]></MsgType>
        <Video>
        <MediaId><![CDATA[media_id]]></MediaId>
        <Title><![CDATA[title]]></Title>
        <Description><![CDATA[description]]></Description>
        </Video> 
        </xml>

可以看到,我们仍然需要提供素材,也就是视频的MediaId,之后再组合xml,返回就可以了。

3.接受语音消息

在用户像我们的公众号发送语音消息的时候,我们会收到一条这样的xml

        <xml>
        <ToUserName><![CDATA[toUser]]></ToUserName>
        <FromUserName><![CDATA[fromUser]]></FromUserName>
        <CreateTime>1357290913</CreateTime>
        <MsgType><![CDATA[voice]]></MsgType>
        <MediaId><![CDATA[media_id]]></MediaId>
        <Format><![CDATA[Format]]></Format>
        <Recognition><![CDATA[你好啊]]></Recognition>
        <MsgId>1234567890123456</MsgId>
        </xml>
image.png

还是像原来一样获取之后处理就可以了。这里,终于有一个个人订阅号可以使用的便捷功能了,那就是语音识别。

先去 开发->接口权限 中打开语音识别。

image.png

而后用户再像我们发送语音文件时,微信会自动识别,并且把识别结果保存在Recognition,我们直接按照需求获取即可。

就像这样


image.png

4.另外我还弄了个简单的聊天机器人

有一个功能还不错,完全免费的聊天机器人接口
http://api.qingyunke.com
直接贴代码了

     $msgType = "text"; //消息类型
     $file_contents = file_get_contents('http://api.qingyunke.com/api.php?key=free&appid=0&msg='.$keyword);
     $str = json_decode($file_contents);
     $ob = $str->content;
     $newStr = str_replace('{br}', "\n", $ob);
     $contentStr = $newStr;
     $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
     echo $resultStr;

用这个接口主要是因为完全免费,平时自己开发着玩玩还是不错的。


image.png

会了这些,你做一些简单的开发都是可以的了,就差个数据库。你可以通过框架连接,或者PDO什么的都可以,这就不多说了,总系希望可以对您有所帮助,谢谢。

相关文章

网友评论

      本文标题:PHP微信公众号开发入门(三)

      本文链接:https://www.haomeiwen.com/subject/tmwwmxtx.html