公众服务号中,有个菜单:夫妻相(需选择一张照片,判断2个是否具有夫妻相).已知条件如下
1,事件类型:pic_photo_or_album
2,接收到2个消息.如下图所示
现问题
1,在第1个消息中,如何获取到消息2中的PicUrl
2,第1个消息中的,PicMd5Sum如何使用?
我想实现的结果是在消息1中,能够获取到图片的Url地址.然后做些业务操作,返回给用户
完全看不懂你想要什么
额,就是在消息1(pic_photo_or_album)中,获取到我上传的图片PicUrl地址
@Vincent.Q: 直接xml格式化成一个对象,取xml节点的值啊,你用什么语言,搜索一下你的语言怎么操作xml
@Rich.T: 这是2个不同的消息.也就是说,服务器发了2个消息过来.现在不清楚这2个消息如何关联起来
@Vincent.Q: 看微信的API的接口文档
@Vincent.Q: pic_photo_or_album会先推送菜单信息给你,接着推给你图片信息,你要关联消息干啥,你要取图片,直接取第二条消息就行了,如果不要菜单信息,不用理会第一条
@Rich.T: 直接取第2条消息的话,是可以取到PicUrl的.问题是,我如何知道这张图片要干什么呢?
以这个为例:这张图片是在要YourMatches中操作的
@Vincent.Q: 微信端上传一张照片,就会往你的接口推送这两条信息,你收到这两条消息了,还不知道怎么处理吗?
@Rich.T: 就是不知道么....不然也不会发博问了
消息2是图片信息,消息1是这张图片要干啥...
如何一块取到?
@Vincent.Q: 你现在这两个消息是分开来收到,还是一起收到?
@Rich.T: 分开收到的.2个消息
消息1:
<xml>
<ToUserName><![CDATA[gh_0668e1b18251]]></ToUserName>
<FromUserName><![CDATA[o-MWejkTtShUR3RA6kPwVAE23Wuk]]></FromUserName>
<CreateTime>1456793086</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[pic_photo_or_album]]></Event>
<EventKey><![CDATA[YourMatches]]></EventKey>
<SendPicsInfo>
<Count>1</Count>
<PicList>
<item>
<PicMd5Sum><![CDATA[f9ee9d098a804c85ad5047207b825a35]]></PicMd5Sum>
</item>
</PicList>
</SendPicsInfo>
</xml>
消息2:
<xml>
<ToUserName><![CDATA[gh_0668e1b18251]]></ToUserName>
<FromUserName><![CDATA[o-MWejkTtShUR3RA6kPwVAE23Wuk]]></FromUserName>
<CreateTime>1456793086</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz/b3y5eA1Gib6W5BtdwicR18VibB2W1vCLYMpSib9JScH9traqicvW1YW0ib58cNkp4icXotcs2nMUibQI4fgUWU7ehe8G0g/0]]></PicUrl>
<MsgId>6256878661810919688</MsgId>
<MediaId><![CDATA[lGreKHohDcDNaXBg1vMZQADDFxm66ln--XXhoFsQ5BXVX5vTCZeecip_XeDZ7MXj]]></MediaId>
</xml>
@Vincent.Q: 那你就先把消息1记录起来,等收到消息2了再一起处理啊,记到内存里或是数据库里都可以
@Vincent.Q: 用FromUserName和CreateTime完全可以保证唯一性
@Rich.T: 就是在研究这2个消息之间的关系么.
比如第1个事件消息记录下来了,过了5分钟,图片的第2个消息进来了.和第1个消息已经过了5分钟了.如何关联呢?
@Rich.T: 嗯,这2个条件应该可以的.我试下咯
@Vincent.Q: CreateTime永远不会变,别瞎鸡吧操心了,哈哈
@Rich.T: 非常感谢