1、微信公众号(服务号)必须认证;
2、微信公众号后台,白名单、安全域名、回调URL等设置一定要正确,不明白的百度下;
3、上代码:
Test.html
<script type="text/javascript"> var url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的APPID&redirect_uri=http://微信公众号后台设置的域名/test.asp&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; window.location.href=url; </script>test.asp
<script language="jscript" runat="server"> function evalJsonStr(str){return eval("(" + str + ")");} </script> <% '获取code inf = Request.ServerVariables("QUERY_STRING") inf1 = Split(inf,"code=") inf2 = Split(inf1(1),"&") code = inf2(0) '获取json函数 function jsonObjByUrl(url,method,data) Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP") objXML.open method,url,false objXML.send(data) set jsonObjByUrl=evalJsonStr(objXML.responseText) set objXML=nothing end Function '获取openid Appid="你的APPID" AppSecret="你的APPSecret" url="https://api.weixin.qq.com/sns/oauth2/access_token?appid="&Appid&"&secret="&AppSecret&"&code="&code&"&grant_type=authorization_code" method="GET":dataStr="" set obj=jsonObjByUrl(url,method,dataStr) OPENID=obj.openid '获取userinfo信息 url1="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="&Appid&"&secret="&AppSecret set obj1=jsonObjByUrl(url1,method,dataStr) ACCESS_TOKEN=obj1.access_token url2="https://api.weixin.qq.com/cgi-bin/user/info?access_token="&ACCESS_TOKEN&"&openid="&OPENID&"&lang=zh_CN" set obj2=jsonObjByUrl(url2,method,dataStr) Subscribe=obj2.subscribe '写入session Session("openid") = OPENID 'Response.Write Session("openid") 'Response.Cookies("subscribe") = Subscribe Response.Write(Subscribe) if Subscribe=0 then Response.Redirect("plug/follow.asp") else Response.Redirect("player.asp?id=18") end if %>