最近几天一直在了解微信公众平台开放的接口,总是出现各种问题。
在手机上测试自动回复接口时,提示‘该公众账号暂时无法提供服务,请稍后再试’的问题,在网上找到了很多的方法,但都不是很明白,现在自动回复功能成功了,回想起查过的解决办法都是对的,可能是我理解上有点问题。
对于这个问题,首先说网上解释的原因并用括号注明我测试的效果:
一、token验证没有成功。
(这个解释,我自己试过,在token没有验证成功的时候,在你向公众账号发消息的时候,并没有提示‘该公众账号暂时无法提供服务,请稍后再试’而是什么都没有。)
二、代码写的不严谨
(这个是我最终解决问题的关键。我使用的asp代码也是在网上找的,但一开始怎么都不行。原因在于xml格式的不正确)
程序中原来的xml代码是这个样子的
outXML="<xml>" &_
"<ToUserName><![CDATA["&tousername&"]]></ToUserName>" &_
"<FromUserName><![CDATA["&fromusername&"]]></FromUserName>" &_
"<CreateTime>"& now() &"</CreateTime>" &_
"<MsgType><![CDATA[text]]></MsgType>" &_
"<Content><![CDATA[" & reMSG & "]]></Content>" &_
"</xml>"
response.write outXML
后来把这段代码改成了下面这个样子
outXML="<xml>"
outXML=outXML&"<ToUserName><![CDATA["&fromUserName&"]]></ToUserName>"
outXML=outXML&"<FromUserName><![CDATA["&toUserName&"]]></FromUserName>"
outXML=outXML&"<CreateTime>"&now&"</CreateTime>"
outXML=outXML&"<MsgType><![CDATA[text]]></MsgType>"
outXML=outXML&"<Content><![CDATA["&reMSG&"]]></Content>"
outXML=outXML&"<FuncFlag>0<FuncFlag>"
outXML=outXML&"</xml>"
response.write outXML
结果就成功了,微信公众号就能自动回复啦!!