LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

微信公众平台自定义接口ASP版

admin
2013年2月22日 14:5 本文热度 4707
微信公众平台介绍:介绍

  微信最近开放第三方API接口,申请地址:http://mp.weixin.qq.com/

  从微信公众平台开通自定义回复后,就一直在关注微信接口这一块,很想用自定义回复这块做个站长工具的查询,例如PR查询,备案查询等,输入网址信息,就能自动获取PR,获取备案信息,应该是一个不错的想法。不过以前一直不支持自定义API,只能是一些固定的信息回复。最近微信公众平台终于开放第三方接口了,也就是说,可以根据用户提交的信息,来自定义回复内容,非常方便。

  站长帮手网官方微信第一时间开通了自定义回复,大家可以添加站长帮手网微信账号linkhelper来看看自定义接口的方便性,输入网址,就能自动回复网站的PR值。截图如下:

  看到了微信的自定义第三方接口的强大后,下面我们来讲讲怎么实现自定义回复。

  首先我们进入第三方接口的页面进行注册,地址:http://mp.weixin.qq.com/cgi-bin/callbackprofile?t=wxm-callbackapi&type=info&lang=zh_CN

  URL为你以后的微信自定义回复生成的地址。Token你可以随便输,主要是用来校验当前的信息是否为微信提交过来的信息。

  如果你的微信接口页面没有做好,提交保存的时候,会提示:验证Token失败。这个错误是因为,你的接口页面还没有反馈正确的信息给微信接口。微信在教程方面还做得不够成熟,就一个PHP示例,还是有问题的,在下篇文章我会讲到这个错误在哪。微信官方也没有跟大家说清楚怎么才能是token验证成功。下面我将给出示例告诉大家如何通过token验证。

  譬如:站长帮手网的微信接口页面是http://wx.linkhelper.cn 默认页面是default.asp,我们只需要把default.asp的代码改为:

  <%response.write request("echostr")%>

  然后再在官方提交下保存,提示“验证token成功”。到此为止,第一步我们完成了接口的申请。

  上面给大家讲了如何申请微信公众平台自定义接口,这篇文章讲通过实例,为大家讲述如何实现Hello World的一个简单的自定义回复。微信官方不提供ASP代码实例。

  微信官方提供的PHP代码示例,$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);通过该代码可以获知微信平台提交过来的信息是一个XML对象。对应的ASP代码的实现是:

set xml_dom = Server.CreateObject("MSXML2.DOMDocument")
xml_dom.load request
FromUserName=xml_dom.getelementsbytagname("FromUserName").item(0).text

  该代码可以获取到提交过来的用户。其他的接收者,微信内容都可以该方法获取到。

  这里交大家一个调试技巧,因为微信接口代码不好调试,我们可以通过写文件的方式,把我们代码获取到的内容写入一个文件,以调试代码是否正确。代码如下:

filepath=server.mappath(".")&"\wx.txt"
Set fso = Server.CreateObject("scripting.FileSystemObject")
set fopen=fso.OpenTextFile(filepath, 8 ,true)
fopen.writeline(FromUserName)
set fso=nothing
set fopen=Nothing

  最后我们重新组合,并生成对应的XML字符串,反馈给微信公众平台,用户就能接受到自定义回复内容了。相关代码如下:

strresponse="<xml>"
strresponse=strresponse&"<ToUserName><![CDATA["&fromusername&"]]></ToUserName>"
strresponse=strresponse&"<FromUserName><![CDATA["&tousername&"]]></FromUserName>"
strresponse=strresponse&"<CreateTime>"&now&"</CreateTime>"
strresponse=strresponse&"<MsgType><![CDATA[text]]></MsgType>"
strresponse=strresponse&"<Content><![CDATA[Hello World]]></Content>"
strresponse=strresponse&"<FuncFlag>0<FuncFlag>"
strresponse=strresponse&"</xml>"
response.write strresponse

  另外请大家注意,ASP文件需要以UTF-8的格式保存,包括页面编码也要用UTF-8的格式,否则有可能自定义回复出现乱码。

  至此,我们就完成了ASP微信公众平台自定义接口的一个简单的自定义回复。如果对源码有兴趣的,请加站长帮手网官方微信账号linkhelper,发送“源码”或者“例子”获取下载地址。

将以下代码保存为weixin.asp放到网站根目录下即可:

<%@Language="VBScript" CodePage="65001"%>
<%
'**************注意,以下两行代码是为了通过微信接口验证的。验证前,请把注释,两个单引号去掉。验证通过后,把两行代码删除或者注释掉。**************
'response.write request("echostr")
'response.end
'**********注意结束*************
%>
<%
set   xml_dom   =   Server.CreateObject("MSXML2.DOMDocument")    
xml_dom.load request
'strxml=xml_dom.xml

FromUserName=xml_dom.getelementsbytagname("FromUserName").item(0).text '发送者微信账号
ToUserName=xml_dom.getelementsbytagname("ToUserName").item(0).text '接收者微信账号。即我们的公众平台账号。
content=xml_dom.getelementsbytagname("Content").item(0).text '微信内容
'**************以下代码为我们组织一个XML输出,反馈给微信借口
strsend="Hello World" '定义发送内容。
strresponse="<xml>"
strresponse=strresponse&"<ToUserName><![CDATA["&fromusername&"]]></ToUserName>"   'tousername是指接受的微信账号。即前面我们获取到的发送者账号
strresponse=strresponse&"<FromUserName><![CDATA["&tousername&"]]></FromUserName>" 'FromUserName是发送者账号,即我们的工种平台账号。
strresponse=strresponse&"<CreateTime>"&now&"</CreateTime>"  '时间。
strresponse=strresponse&"<MsgType><![CDATA[text]]></MsgType>"  '发送类型。text是文本型。具体可以参考微信帮助手册
strresponse=strresponse&"<Content><![CDATA["&strsend&"]]></Content>" '发送内容
strresponse=strresponse&"<FuncFlag>0<FuncFlag>"
strresponse=strresponse&"</xml>"
response.write strresponse
'*************输出结束*******************


'*************注意,以下代码只是为了调试作用的,可以删除*********************
filepath=server.mappath(".")&"\wx.txt"
Set fso = Server.CreateObject("Scripting.FileSystemObject")
 set fopen=fso.OpenTextFile(filepath, 8 ,true)
 fopen.writeline(strresponse)
 set fso=nothing
 set fopen=Nothing
'****************注意结束************************
%>


该文章在 2013/2/22 14:05:32 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved