ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息

时间:2024-04-16 13:59:17

ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息是需要客户授权,下面讲解详细步骤:

第一步:客户点击登录页,自动跳转到微信服务器端获取code

第二步:用第一步获取的code去获取客户的access_token、openid

第三步:用刚才获取到的access_token、openid去获取客户基本信息

上述三步设计的内容相对逻辑简单,但是写代码逻辑全部被封装到WeixinDLL,下面直接上代码。

登录页面:login.asp

 1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
 2 <!DOCTYPE html>
 3 <html>
 4 <head>
 5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6   <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
 7   <title>客户微信登陆</title>
 8 </head>
 9 <body>
10 <%
11  On Error Resume Next 
12  Dim WxObj
13  Set WxObj = Server.CreateObject("WeixinDLL.WeixinClass")
14  WxObj.SetAppID = "微信服务号AppID"
15  Dim RedirectUrl,CallUrl
16  CallUrl = "https://www.domain.com/login/call.asp" \' 这个是跳转返回我们自己服务器接收客户数据信息的页面
17  RedirectUrl = WxObj.Get_RedirectUrl(CallUrl) \'这个是将微信条状登录复杂页面封装到DLL内直接调用即可
18  Response.Redirect(RedirectUrl) \'跳转登录认证
19  Set WxObj = Nothing
20  If Err Then Response.Write Err.Description
21 %>
22 </body>
23 </html>

接收客户信息的页面:call.asp

 1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
 2 <!DOCTYPE html>
 3 <html>
 4 <head>
 5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6   <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
 7   <title>客户授权微信个人信息</title>
 8 </head>
 9 <body>
10 <%
11  \'On Error Resume Next 
12  Dim WxObj
13  Set WxObj = Server.CreateObject("WeixinDLL.WeixinClass")
14  WxObj.SetAppID      = "微信服务号AppID"
15  WxObj.SetAppSecret  = "微信服务号AppSecret"
16  
17  Dim Code,TOJson,UserJson,uJson,TokenOpenID
18  Code = Trim(Request("code"))
19  TOJson = WxObj.Get_Token_OpenID(code)
20  If TOJson="" Then Response.Write "获取access_token与openid失败":Response.End()
21  
22  UserJson = WxObj.GetUserInfo(TOJson)
23  Set uJson = WxObj.parseJSON(UserJson)
24  Response.Write "openid=" & uJson.openid & "<br>"
25  Response.Write "nickname=" & uJson.nickname & "<br>"
26  Response.Write "headimgurl=" & uJson.headimgurl & "<br>"
27  Response.Write "country=" & uJson.country & "<br>"
28  Response.Write "province=" & uJson.province & "<br>"
29  Response.Write "city=" & uJson.city & "<br>"
30  \'Response.Write "unionid=" & uJson.unionid & "<br>" \' 公众号绑定到微信开放平台帐号后,才会出现该字段
31  
32  Set uJson = Nothing
33  Set WxObj = Nothing
34  \'If Err Then Response.Write Err.Description
35 %>
36 </body>
37 </html>

注意上述客户授权微信服务号H5登录程序用到了 WeixinDLL 组件,如需要此组件者,可以联系我:z18670092211