ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息
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客户登陆,且获取客户授权的用户基本信息的更多相关文章
- ASP程序写的项目与微信服务号(公众号)完美结合。仅需一个DLL组建WeixinDLL
因ASP程序开发有很多优点,早年间ASP风靡全球,因此如今还在继续运营的ASP开发的项目仍在运行着,但是随着社交网络不断发达,特别是微信支付.微信通讯.小程序等的出现,导致很多ASP项目对接起来就比较 ...
- PHP 开发社区微信服务号实战图解
本博文就月初刚上线的微信服务号,图文进行总结分享给大家. 去年年底,我所在的团队讨论要开发微信号,话题由此拉开: 原来有一个3年前注册的微信号,但是后台操作无法从“订阅号”变更为“服务号”,随即找腾讯 ...
- 通过微信服务号推送Zabbix告警
近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息. 分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台: 而之前文章中的A ...
- 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
微信服务号模板消息可以向用户发送重要的服务通知,如信用卡刷卡通知,商品购买成功通知等.昨日,微信团队发布公告称模板消息新增“设置行业”和“添加模板”接口及细节优化,详细变动如下 模板消息[业务通知]自 ...
- $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)
一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...
- 微信服务号 redirect_uri域名与后台配置不一致,错误代码10003
微信服务号开发获取用户openid时一直提示 redirect_uri域名与后台配置不一致,错误代码10003:后台也配置了域名 原因: 结果:获取到了openid
- Java微信服务号的开发(简单入门)
进行微信服务号开发的步骤 一个别人已经搭建好的项目参考地址:下载链接 1.搭建微信服务号的服务器 项目配置maven <dependency> <groupId>com.soe ...
- 微信公众号开发(三)获取access_token
微信公众号开发(三)获取access_token 1.说明 access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.acce ...
- 微信公众号H5支付遇到的那些坑
简史 官方文档说的很清楚,商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程. 当然,最近微信支付平台也加入了纯H5支付,也就是说用户可以在微信以外的 ...
随机推荐
- JUnit5学习之六:参数化测试(Parameterized Tests)基础
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 【pytest官方文档】解读fixtures - 1.什么是fixtures
在深入了解fixture之前,让我们先看看什么是测试. 一.测试的构成 其实说白了,测试就是在特定的环境.特定的场景下.执行特定的行为,然后确认结果与期望的是否一致. 就拿最常见的登录来说,完成一次正 ...
- 《C++ Primer》笔记 第3章 字符串、向量和数组
位于头文件的代码一般来说不应该使用using声明. 如果使用等号(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去.与之相反,如果不使用等号,则执行的是直接 ...
- 详解JavaScript中的原型
前言 原型.原型链应该是被大多数前端er说烂的词,但是应该还有很多人不能完整的解释这两个内容,当然也包括我自己. 最早一篇原型链文章写于2019年07月,那个时候也是费了老大劲才理解到了七八成,到现在 ...
- vue之better-scroll详解及封装
在我们的h5或移动端网页开发中,常常会需要实现滚动加载数据,等需求,而在开发中原生开发往往会带来意想不到的问题,因此我们引入better-scroll来帮我们实现流畅的滚动效果. 什么是better- ...
- C# 应用 - 封装类访问 Postgresql 数据库
引入库类 连接数据库 访问数据库 1)增删改数据库 2)查数据库 数据转换 事务 1. 引入库类 引入 Npgsql.dll using Npgsql; using NpgsqlTypes; 2. 连 ...
- Mybatis最权威的知识点
1.什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement ...
- pwnable.kr 第一题fd
使用ssh fd@pwnable.kr -p2222连接输入密码guest 1 fd@prowl:~$ ls -al 2 total 40 3 drwxr-x--- 5 root fd 4096 Oc ...
- 微服务面试必问的Dubbo,这么详细还怕自己找不到工作?
大家好,我是小羽. Dubbo 起源于阿里巴巴,对于我们做电商开发的人来说,基本是首选的技术,那么为何一个区区 soa 服务治理框架,会受到这么多人的青睐呢? 今天就跟着小羽一起看看这个微服务框架之一 ...
- 【linux】命令-网络相关
目录 前言 1. ifconfig 1.1 语法 1.2 参数说明 1.3 例程 2. iw 2.1 扫描可用无线网络 2.2 WiFi连接步骤(教程A) 2.2.1 查看可以用无线设备信息 2.2. ...