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

ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息的更多相关文章

  1. ASP程序写的项目与微信服务号(公众号)完美结合。仅需一个DLL组建WeixinDLL

    因ASP程序开发有很多优点,早年间ASP风靡全球,因此如今还在继续运营的ASP开发的项目仍在运行着,但是随着社交网络不断发达,特别是微信支付.微信通讯.小程序等的出现,导致很多ASP项目对接起来就比较 ...

  2. PHP 开发社区微信服务号实战图解

    本博文就月初刚上线的微信服务号,图文进行总结分享给大家. 去年年底,我所在的团队讨论要开发微信号,话题由此拉开: 原来有一个3年前注册的微信号,但是后台操作无法从“订阅号”变更为“服务号”,随即找腾讯 ...

  3. 通过微信服务号推送Zabbix告警

    近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息. 分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台: 而之前文章中的A ...

  4. 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化

    微信服务号模板消息可以向用户发送重要的服务通知,如信用卡刷卡通知,商品购买成功通知等.昨日,微信团队发布公告称模板消息新增“设置行业”和“添加模板”接口及细节优化,详细变动如下 模板消息[业务通知]自 ...

  5. $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)

    一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...

  6. 微信服务号 redirect_uri域名与后台配置不一致,错误代码10003

    微信服务号开发获取用户openid时一直提示 redirect_uri域名与后台配置不一致,错误代码10003:后台也配置了域名 原因: 结果:获取到了openid

  7. Java微信服务号的开发(简单入门)

    进行微信服务号开发的步骤 一个别人已经搭建好的项目参考地址:下载链接 1.搭建微信服务号的服务器 项目配置maven <dependency> <groupId>com.soe ...

  8. 微信公众号开发(三)获取access_token

    微信公众号开发(三)获取access_token 1.说明 access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.acce ...

  9. 微信公众号H5支付遇到的那些坑

    简史 官方文档说的很清楚,商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程. 当然,最近微信支付平台也加入了纯H5支付,也就是说用户可以在微信以外的 ...

随机推荐

  1. STL栈

    stack的基本操作有: 1.入栈:如s.push(x); 2.出栈:如s.pop(). 注意:出栈操作只是删除栈顶的元素,并不返回该元素. 3.访问栈顶:如s.top(); 4.判断栈空:如s.em ...

  2. 面试系列二:精选大数据面试真题JVM专项-附答案详细解析

    公众号(五分钟学大数据)已推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型: ...

  3. 【机制】js中的this指向

    1.this的使用场景 我们先把this的使用场景分为两大类:函数外和函数内: 函数外的this 就是在全局代码里,直接使用this: "use strict"; let name ...

  4. PAT-1145(Hashing - Average Search Time)哈希表+二次探测解决冲突

    Hashing - Average Search Time PAT-1145 需要注意本题的table的容量设置 二次探测,只考虑正增量 这里计算平均查找长度的方法和书本中的不同 #include&l ...

  5. 【Azure 微服务】Service Fabric, 使用ARM Template方式来更新SF集群的证书(Renew SF Certificate)

    问题描述 因证书过期导致Service Fabric集群挂掉(升级无法完成,节点不可用)一文中,描述了因为证书过期而导致了SF集群不可用,并且通过命令dd-AzServiceFabricCluster ...

  6. Amazon Connect 配置ccp端的soft phone配置(客服坐席工作站配置)

    本文参考:  Amazon Connect 配置ccp端的soft phone配置(客服坐席工作站配置) [官网]:https://aws.amazon.com/cn/connect/ 应用场景 在应 ...

  7. Redis单机数据库的实现原理

    本文主要介绍Redis的数据库结构,Redis两种持久化的原理:RDB持久化.AOF持久化,以及Redis事件分类及执行原理.最后,分别介绍了单机班Redid客户端和Redis服务器的使用和实现原理. ...

  8. ElasticSearch(ES)使用Nested结构存储KV及聚合查询

    自建博客地址:https://www.bytelife.net,欢迎访问! 本文为博客同步发表文章,为了更好的阅读体验,建议您移步至我的博客 本文作者: Jeffrey 本文链接: https://w ...

  9. Java中的四种权限修饰符及六种非访问修饰符(简识)

    一.是哪四种访问权限修饰符呢? public > protected > [default] > private (公共的 ) (受保护的) (默认的) (私有的) 二.简单认识四种 ...

  10. 基于renren-fast的快速入门项目实战(实现报表增删改查)

    基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...