微信开发平台是干什么的 用微信手机浏览的网页开发网页吗?

微信打开网页不能下载的解决
一个手机端网站的项目,考虑到用户可能用微信扫码打开网站,而微信内置浏览器并不允许用户进行。查阅资料后,我做了如下的兼容。
了解到可以用如下方法判断微信
function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)==&micromessenger&) {
首先,下载链接改为一个新的页面。在此新页面中改写上面的代码为
window.onload=function () {
var ua = navigator.userAgent.toLowerCase();
console.log(ua);
if(ua.match(/MicroMessenger/i)!=&micromessenger&) {
window.location=&lesson.doc&;
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'还没有任何记录...
怎么通过js获取微信用户的openid?
来源:懒人建站作者:微信开发日期: 18:31人气:次
如火如荼通过js获取用户的openid?希望通过openid来识别用户,目前微信服务号在网页获取微信用户openid就这两种方法,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。
问:我的应用场景是给用户发的会员卡,希望通过openid来识别用户,来展示相应的会员卡,类似微生活上的会员卡菜单。不知道微信为啥不开放这个接口。怎么通过js获取微信用户的openid?
通过菜单打开url,在网页页面里获得用户的openid,
获取微信用户的openid目前有两种方法:
一是先回复一条图文消息,将用户的openid带在链接上,然后用户通过点击图文消息的链接打开最终的页面,这么做用户体验非常非常不好,而且每个菜单都得这么干;
二是调用服务号的高级接口,可是我们大部分都是用订阅号。
那怎么通过js获取微信用户的openid?
答:目前微信服务号在网页获取微信用户openid就这两种方法,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。
如果微信订阅号什么都能做,那划分订阅号与微信服务号的意义在哪呢?
本文链接:/wxkaifa/.html
怎么通过js获取微信用户的openid?由懒人建站收集整理,您可以自由传播,请主动带上本文链接
就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。
(责任编辑:懒人建站)
怎么通过js获取微信用户的openid?-相关文章
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
为了发一句呵呵我居然注册了帐号:呵呵
微信开发-人气榜
懒人建站为您提供-基于jquery特效,jquery弹出层效果,导航菜单代码,下拉菜单代码和jquery焦点图片代码,懒人建站关注软件界面设计,WEB/后台/手机/软件UI设计、建站素材、html5和CSS3新技术等。【技术文章】微信公众平台开发教程新手解惑40则
发表于 10:35|
摘要:由CSDN和《程序员》杂志联合主办的2014年微信开发者大会将于8月23日在北京举行。组委会已经邀请到了柳峰担任此次大会的演讲嘉宾,他将带来《智能客服与LBS开发的“坑”与解决之道》的主题分享。
【编者按】由CSDN和《程序员》杂志联合主办的
将于8月23日在北京举行,邀请了来自于一线的微信开发商技术负责人或资深工程师从企业应用开发高级篇、智能客服与LBS、微信支付、微信上的HTML5社交应用、微信小店开发等角度为与会者带来实战分享(
)。目前报名处于优惠票价阶段,通过申请加入CSDN CTO俱乐部即可享受8折购票价格(票款中均含午餐),在前完成付款的同学还将免费获赠微信开发图书一本(两选一,活动现场发放)。&值得一提的是,CSDN优秀博主、畅销书《微信公众平台应用开发:方法、技巧与案例》的作者柳峰受邀做本次活动讲师之一,演讲主题《智能客服与LBS开发的“坑”与解决之道》。他在CSDN博客中(
)撰写了几十篇+的微信开发技术文章,多篇访问量都在3万+,以下这篇《
》摘自他的博客。
全文如下:
笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少走弯路。
1、订阅号与服务号的主要区别是什么?
订阅号每天能群发一条消息,没有自定义菜单及高级接口权限;服务号有自定义菜单及高级接口权限,但每月只能群发一条消息。
2、到底该申请订阅号还是服务号?
申请哪种类型的公众账号,主要取决于账号的用途。服务号主要面向企业和组织,旨在为用户提供服务;订阅号主要面向媒体和个人,旨在为用户提供信息和资讯。
3、订阅号是否支持编程开发?
不管是订阅号,还是服务号,在高级功能中都有编辑模式和开发模式,订阅号也支持编程开发,同样也能与企业系统对接。
4、为什么申请的公众账号没有高级功能?
公众账号注册后,要经过微信团队的审核,在审核未完成之前不显示高级功能。一般审核会在15个工作日内完成,如果一两周没审核通过均属正常现象,还请耐心等待。
5、现在订阅号能否申请自定义菜单?
不能。那为什么有些订阅号有自定义菜单?这是历史遗留问题。日,随着微信5.0的发布,公众账号被划分为订阅号和服务号,所有的公众账号都被默认为订阅号,并且有一次转服务号的机会,许多在此之前申请到自定义菜单的账号并没有转为服务号,所以就存在一些订阅号有自定义菜单,例如:36氪、蓉城先锋、天府之光等。
补充:日,公众平台针对订阅号做了重要更新。政府、传统媒体、明星等非企业性质的订阅号可以申请微信认证,通过微信认证的订阅号可获得自定义菜单接口权限。
6、现在申请的订阅号能否转服务号?
不能。只有日微信5.0发布以前申请的订阅号才有一次转服务号的机会,在此之后申请的订阅号不能转服务号。
那如果真的有转服务号的需求怎么解决?只能重新申请一个服务号。7、目前一个身份证号能申请几个公众账号?
8、使用一个公司的材料能申请多少个公众账号?
没有限制。
9、在注册公众账号时,提示“你注册的公众号名称存在侵权风险,请先完成微博验证”,这是什么意思?
公众平台对一些可能存在侵权的关键词进行了保护,例如:“微信”、“移动”、“搜狐”等,如果注册的公众账号名称中包含这类关键词,提交时就会提示存在侵权风险。
遇到这种情况时,要么避开这些关键词换个名称注册,要么就根据提示先完成微博验证再继续注册。
10、个人能否申请服务号?
不能,个人只能申请订阅号。服务号的运营主体必须为组织,例如:企业、政府、其他组织等。
11、公众账号的名称可以重复吗?
公众账号的名称可以重复,不用担心被他人抢注。
12、公众账号的名称可以修改吗?
公众账号名称一经设置无法修改,公众平台没有提供账号改名的功能,因此在注册账号时取名应谨慎。
13、微信认证与微博认证有什么区别?
微信认证是针对于服务号,微博认证是针对于订阅号。也就是说,订阅号只能申请微博认证,服务号只能申请微信认证。
14、是否需要粉丝数达到500才能申请微信认证?
只要是服务号都可以申请微信认证,与粉丝数无关。只有订阅号申请微博认证才要求粉丝数必须达到500。
15、编辑模式与开发模式能够同时使用吗?
不能,这两种模式是互斥的,开启编辑模式就必须关闭开发模式,开启开发模式就必须关闭编辑模式。
16、现在用的是编辑模式,以后还可以选择使用开发模式吗?
可以,任何时候都可以根据需要切换到另外一种模式。
17、编辑模式切换到开发模式之后,在编辑模式中设置的内容还在吗?还有效吗?
在编辑模式中设置的内容,只要自己不手动删除,会永远存在的,但这些设置在开发模式下无效。
18、开发模式的菜单为什么突然消失了?
菜单不会无缘无故的消失,如果开发人员没有手动删除,那一定是有人开启过编辑模式引起的。请注意:开启编辑模式后,在开发模式下创建的菜单会被删除。
19、使用开发模式需要具备哪些条件?
1)至少掌握一门编程语言;2)具备公网服务器资源。
20、微信公众平台支持哪些编程语言?应该如何选择?
凡是支持动态Web开发的编程语言都能够用于微信公众平台开发,例如:Java、PHP、ASP.NET、Ruby、Python、Note.js等。
开者人员应该选择自己最擅长的编程语言进行开发,如果都不擅长怎么办?如果都不擅长,建议选择Java或PHP,原因在于网上关于微信公众平台开发的资料大都是基于Java和PHP的,开发起来要相对容易。
21、没有公网服务器资源怎么办?
1)免费:可以考虑使用云环境,例如,BAE(Baidu App Engine,百度应用引擎)和SAE(Sina App Engine,新浪应用引擎)。
2)付费:可以考虑租用VPS(Virtual Private Server,虚拟专用服务器)或阿里云的云服务器。
如果仅是为了学习微信公众平台开发,个人建议使用BAE。
22、如果想使用Java进行微信公众平台开发至少需要掌握哪些内容?
至少需要掌握Java基础知识、JSP、Servlet、Javabean和JDBC(操作数据库)。
23、公司的项目大都是基于SSH框架进行开发,能使用SSH开发微信公众账号吗?
当然可以,前面说过,凡是支持动态Web开发的编程语言都能用于微信公众平台开发。其实,Struts本质上也是Servlet。
24、柳峰老师,可以给我一份微信公众平台项目的源码吗?
想要源码的朋友请您免开尊口,我认为这不是一种很好的学习方式和态度,而是一种浮躁的表现。博客中的教程已经讲的很详细了,并且贴出了所有代码(一行也不少),如果这样还不愿意花点时间去理解、消化和动动手,我也无能为力!
PS:曾经也有一些开发者、创业团队和公司提出要买小q机器人(xiaoqrobot)的源码,有的开价是5位数,但都被我拒绝了。相比之下,我更愿意把小q机器人的完整实现过程写成一篇篇技术文章免费分享出来,带动更多的开发者加入到微信公众平台开发阵营!
25、公众账号能够通过程序主动向关注用户发消息吗?
截止目前,公众平台还没有开放主动向用户发消息的接口。为什么招行可以?我前面说的是没有“开放”主动发消息的接口,并不代表没有该接口。如果贵公司也有招行的实力,我相信你也有办法申请到;如果没有这样的实力,那就不要费事了。
26、订阅号使用开发模式能够向用户回复图片、语音和视频消息吗?
可以,虽然订阅号没有多媒体文件上传接口权限,无法通过上传多媒体文件到微信服务器获取MediaId,但仍可以变相得到MediaId,同样可以实现回复多媒体消息。变相的实现方法是将用户发送给公众账号的多媒体消息的MediaId记录下来,给用户回复多媒体消息时可以使用。
27、订阅号使用开发模式能够向用户回复
音乐消息吗?
28、音乐消息包含参数ThumbMediaId,没有高级接口权限的公众账号无法获得ThumbMediaId,怎么回复音乐消息?
ThumbMediaId不是音乐消息的必须参数,给用户回复音乐消息时可以不传ThumbMediaId参数,类似下面这种示例格式也能正确回复音乐消息:
&ToUserName&&![CDATA[toUser]]&&/ToUserName&
&FromUserName&&![CDATA[fromUser]]&&/FromUserName&
&CreateTime&&/CreateTime&
&MsgType&&![CDATA[music]]&&/MsgType&
&Title&&![CDATA[TITLE]]&&/Title&
&Description&&![CDATA[DESCRIPTION]]&&/Description&
&MusicUrl&&![CDATA[MUSIC_Url]]&&/MusicUrl&
&HQMusicUrl&&![CDATA[HQ_MUSIC_Url]]&&/HQMusicUrl&
29、订阅号与非微信认证的服务号能够向回复哪些类型的消息?
在开发模式下,订阅号与非微信认证的服务号只能向用户回复文本消息、音乐消息和图文消息。
30、为什么项目代码与柳峰老师教程中的一样,发消息给公众账号却没有任何响应?
这是我写微信公众平台开发教程以来,初学者给我反馈最多的问题。可以肯定的是,至今为止,我博客中贴出的所有代码全部都能正常运行,没有任何问题。遇到上面这种问题大都是由以下三种情况引起:
1)在公众平台开发模式下,成为开发者却忘记开启开发模式,即开发模式的开关是关闭状态。
2)通过上传WAR包的方式部署应用时,导出的WAR包中没有包含JAR。建议初学者直接将项目需要的JAR拷贝到项目中,这样通过开发工具导出的WAR包就会包含JAR。
3)项目中引入的第三方JAR包与笔者教程中使用的JAR包版本不一致。
31、为什么自定义菜单创建成功了,在微信客户端的公众账号上却不显示?
由于微信客户端缓存的原因,自定义菜单创建成功后,需要24小时以后才能显示出来。开发者在测试时,可以尝试取消关注公众账号后再次关注,这样能立即看到最新的菜单效果。
PS:菜单更新、菜单删除也会有缓存。
32、如果要更新公众账号的自定义菜单,需要先将原有菜单删除吗?
不需要,直接执行菜单创建方法即可,每次创建菜单会自动覆盖以前的菜单。
33、什么是微网站?
微网站是新瓶装老酒,被一些搞营销的人给神化了,以至于很多开发者都在问什么是微网站,如何开发微网站。微网站本质上就是以微信浏览器为入口的手机网站(Web APP),能够兼容Android、iOS、WP等操作系统。开发微网站用到的技术与开发普通网站一样,都是基于HTML(HTML5)、CSS、Javascript等,所以有普通网站开发经验的开发者,完全有能力开发微网站。
PS:初学者以后再看到什么以“微”开头的新名词,例如:微商城、微客服、微统计,直接把“微”字去掉或者把“微”当作是“基于微信的”就不难理解了。
34、什么是模拟登录?模拟登录微信公众平台
能够干什么?
模拟登录指的是通过程序模拟用户在浏览器上的操作。例如,我们通过浏览器访问微信公众平台,先要登录,登录成功后能够查看用户信息、给用户回复消息、群发消息等,其实通过程序也能够实现这些操作。
PS:对于模拟登录,官方并没有明确表态是允许还是禁止,请谨慎使用,万一哪天被封号就不划算了,也没法向关注你公众账号的用户交待。
35、微信认证是如何收费的?
服务号申请微信认证需要支付300元/次的审核服务费用,无论最终的认证审核通过与否,都需要支付这笔费用。微信认证成功后,认证的有效期是一年,在有效期快结束时还要再次申请微信认证。
36、微信支付如何申请?
截止目前,微信公众平台仍未开放微信支付权限的申请。为什么广东联通、小米手机这些账号有微信支付权限?这些公司大都与微信有着合作关系,提前享受这些权限一点也不奇怪。
37、临时带参二维码有哪些应用场景?
通过微信扫描二维码登录微信网页版,就是临时带参二维码的典型应用场景。
38、微信公众平台开发一般如何调试?
微信公众平台提供的
旨在帮助开发者检测调用公众平台接口时传入的参数是否正确,这款工具对开发者的帮助其实并不大。对于调试本地运行的公众账号后台程序,这里给读者推荐两种方法:1)使用“微信开发调试小工具”,该工具支持在本地调试,工具的用法及下载请访问:
,通过路由器端口映射,可以将自己的电脑变成一台外网服务器,这样本机运行的公众账号后台程序就能直接与微信服务器进行交互了。
39、为什么项目在本地运行正常,也能获取到数据,部署到服务器上之后公众账号没有任何响应?
遇到这类情况,请读者尝试从以下几个方面排查问题:
1)检查项目在服务器上是否部署成功,可以尝试方法以前能够正常运行的功能模块,看能否正确响应,以便缩小问题范围。
2)检查项目中通过URL传递参数时,如果传递特殊字符(例如:中文、+、&等),是否对特殊字符进行了编码。
3)检查程序的处理是否超时,如果超过5秒,公众账号不响应。
4)检查返回的文本消息、图文消息是否超过限制(文本消息长度&=2048字节,图文消息条数&=10条),若超过限制,公众账号不响应。
5)公众账号不响应也有可能是微信公众平台自身故障导致。
40、为什么URL在浏览器能访问,放到微信上却不能访问?
请检查URL中是否包含特殊字符,例如:中文、+、&等,PC上的浏览器通常都会对URL中包含的特殊字符自动编码,但有些浏览器不会。
为了保证所有的浏览器都能正常访问URL,请务必对URL中包含特殊字符显示编码,显示编码的意思是代码中能够明确看出编码方式是UTF8、GB2312或者其它。例如像下面这样:
// 采用操作系统默认的字符集进行编码,在不同的操作系统上表现不一致,不推荐
java.net.URLEncoder.encode(chinese);// 显示编码,推荐用法
java.net.URLEncoder.encode(chinese, "UTF-8");PS:很多初学者都认为只有URL中包含中文时才需要编码,结果导致OAuth2.0授权接口、通过ticket换取二维码接口总是调用不成功。
OAuth2.0授权接口中的回调地址redirect_uri中包含大量特殊字符必须进行编码,通过ticket换取二维码接口中的ticket中可能包含+号也要进行编码。
送给初学者一条中肯的建议:不要总是怀疑微信公众平台的接口或者有经验的开发者分享的程序代码有问题,最先应该怀疑自己写的程序有问题,这样才有助于发现问题,从而解决问题。请相信:一套久经考验的平台、程序被初学者发现BUG的情况并不多见。欢迎大家到现场与柳峰深度沟通。目前,
(持续关注
更新)。另外,主委会还开设了
,欢迎技术精英自荐和互相推荐,也可以直接联系
。(持续更新)
此外,主办方还特别开设了
)现在就去
。微信开发者QQ群:(已满)和微信开发者② QQ群:,欢迎加入交流。
相关阅读:
,了解更多研发资讯,参与互动讨论;当然您可以向我们推荐更多有趣、有质量的文章。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章开发者必读
开发者工具
获取接口调用凭据
消息加解密
自定义菜单管理
数据统计接口
微信JS-SDK
微信小店接口
微信卡券接口
微信门店接口
微信智能接口
设备功能介绍
多客服功能
摇一摇周边
微信连Wi-Fi
出自微信公众平台开发者文档
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
关于网页授权回调域名的说明
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:,配置以后此域名下面的页面 、
都可以进行OAuth2.0鉴权。但 、
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可
关于网页授权的两种scope的区别说明
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
关于网页授权access_token和普通access_token的区别
1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。
关于UnionID机制
1、请注意,网页授权获取用户基本信息也遵循UnionID机制。即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.)绑定公众号后,才可利用UnionID机制来满足上述需求。
2、UnionID机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。
关于特殊场景下的静默授权
1、上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知;
2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。
具体而言,网页授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code
2、通过code换取网页授权access_token(与基础支持中的access_token不同)
3、如果需要,开发者可以刷新网页授权access_token,避免过期
4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问
参考链接(请在微信客户端中打开此链接体验)
Scope为snsapi_base
https%3A%2F%%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_4_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
Scope为snsapi_userinfo
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。
公众号的唯一标识
redirect_uri
授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type
返回类型,请填写code
应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect
无论直接打开还是做页面302重定向时候,必须带此参数
下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE
code说明 :
code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
首先请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
获取code后,请求以下链接获取access_token:
公众号的唯一标识
公众号的appsecret
填写第一步获取的code参数
grant_type
填写为authorization_code
正确时返回的JSON数据包如下:
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
用户授权的作用域,使用逗号(,)分隔
只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:
错误时微信会返回JSON数据包如下(示例为Code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。
获取第二步的refresh_token后,请求以下链接获取access_token:
公众号的唯一标识
grant_type
填写为refresh_token
refresh_token
填写通过access_token获取到的refresh_token参数
正确时返回的JSON数据包如下:
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识
用户授权的作用域,使用逗号(,)分隔
错误时微信会返回JSON数据包如下(示例为Code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
http:GET(请使用https协议)
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
用户的唯一标识
返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
正确时返回的JSON数据包如下:
"openid":" OPENID",
" nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE"
"city":"CITY",
"country":"COUNTRY",
"headimgurl":
"privilege":[
"PRIVILEGE1"
"PRIVILEGE2"
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
用户的唯一标识
用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
用户个人资料填写的省份
普通用户个人资料填写的城市
国家,如中国为CN
headimgurl
用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:
错误时微信会返回JSON数据包如下(示例为openid无效):
{"errcode":40003,"errmsg":" invalid openid "}
http:GET(请使用https协议)
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
用户的唯一标识
正确的Json返回结果:
{ "errcode":0,"errmsg":"ok"}
错误时的Json返回示例:
{ "errcode":40003,"errmsg":"invalid openid"}

我要回帖

更多关于 微信公众平台网页开发 的文章

 

随机推荐