ASP 微信公众平台接口开发
微信最近开放第三方 API 接口,申请地址:
http://mp.weixin.qq.com/cgi-bin/callbackprofile?t=wxm-callbackapi&type=info&lan
g=zh_CN
从微信公众平台开通自定义回复后,就一直在关注微信接口这一块,很想用自定义回复
这块做个站长工具的查询,例如 PR 查询,备案查询等,输入网址信息,就能自动获取 PR,
获取备案信息,应该是一个不错的想法。不过以前一直不支持自定义 API,只能是一些固定
的信息回复。最近微信公众平台终于开放第三方接口了,也就是说,可以根据用户提交的信
息,来自定义回复内容,非常方便。
站长帮手网官方微信第一时间开通了自定义回复,大家可以添加站长帮手网微信账号
linkhelper 来看看自定义接口的方便性,输入网址,就能自动回复网站的 PR 值。截图如下:
看到了微信的自定义第三方接口的强大后,下面我们来讲讲怎么实现自定义回复。
首先我们进入第三方接口的页面进行注册,地址:
http://mp.weixin.qq.com/cgi-bin/callbackprofile?t=wxm-callbackapi&type=info&lan
g=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=""
strresponse=strresponse&""
strresponse=strresponse&""
strresponse=strresponse&""&now&""
strresponse=strresponse&""
strresponse=strresponse&""
strresponse=strresponse&"0"
strresponse=strresponse&""
response.write strresponse
另外请大家注意,ASP 文件需要以 UTF-8 的格式保存,包括页面编码也要用 UTF-8 的格
式,否则有可能自定义回复出现乱码。
至此,我们就完成了 ASP 微信公众平台自定义接口的一个简单的自定义回复。下面是应用
实例,文章的最后是源码程序
来源于:www.linkhelper.cn
微信会员管理系统(利用微信开发最成功的商业大牛)
下面给大家介绍一个微信公众平台开发最成功的“大牛神”—--深圳一卡易公司
的微信会员管理系统,让人耳目一新,目前是我看到微信公众平台利用最成功的
软件了。下面给大家介绍一下他的功能。让大家以后做开发的时候能有个很好的
思路。
----------------------下面介绍如何体验微信会员------------------------------
第一步:商家(tgfweng—一卡易
微信会员系统淘宝代理商)将左
边二维标识码放在户外、媒体、
网页、店铺内等,供消费者会员
用手机微信拍摄
第二步:商家(tgfweng—一卡易
微信会员系统淘宝代理商)的微
信公众平台会自动给消费者会员
发信息,要求消费者会员回复手
机号码成为商家的 VIP 会员
第二步:商家(tgfweng 一卡易微信会员系统淘宝代理商)进入微信会员连锁管理系统的
后台即可查看,消费者会员已经成为本商家(tgfweng—一卡易微信会员系统淘宝代理商)
的 VIP 会员:
商家微信会员连锁系统后台网址:
http://www.yhuiyuan.com
帐号:ruanjian
工号:10001
密码:10001
(注:本账号是我公司给客户体验
账号,您可以在这里体验本平台的
巨大魅力,您可以扫描上面识别码
加入本公司会员,进入会员列表,
试试吧!但本工号部分功能受限,
如需体验无限功能账号,请联系客
服人员,谢谢!)
本微信会员连锁管理系统适合服务行业的会员连锁软件。具有给会员发短信功能,能连锁
管理店铺。远程在家也能管理您的店铺情况,会员也可以通过智能手机终端或者微信,查看
自己的会员积分情况,储值情况,还可以查看店铺打折信息,商品信息,促销信息等,还能
远程下单等等,功能非常强大。
----------------------------------------------------以下是源码--------------------------------------------------------
<%@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 '微信内容
strEventType=xml_dom.getelementsbytagname("Event").item(0).text '微信事件
'**************以下代码为我们组织一个 XML 输出,反馈给微信借口
strsend="Hello World"
if strEventType="subscribe" then '表示订阅微信公众平台
strsend="Welcome" '定义发送内容。
end if
strresponse=""
strresponse=strresponse&""
'tousername 是指接受的微信账号。即前面我们获取到的发送者账号
strresponse=strresponse&""
'FromUserName 是发送者账号,即我们的工种平台账号。
strresponse=strresponse&""&now&""
'时间。
strresponse=strresponse&""
'发送类型。text 是文本
型。具体可以参考微信帮助手册
strresponse=strresponse&"" '发送内容
strresponse=strresponse&"0"
strresponse=strresponse&""
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
'****************注意结束************************
%>