首页 > 编程知识 正文

微信公众号开通服务号,微信公众号 开放平台

时间:2023-05-04 08:17:35 阅读:265442 作者:551

如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

1. 授权回调域名的说明:
(1)、这里填写的是域名(是一个字符串),而不是URL,因此请勿加http://等协议头;
(2)、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com;
(3)、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可

关于网页授权的两种scope的区别说明:
(1)、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面);
(2)、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

网页授权access_token和普通access_token的区别:
(1)、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
(2)、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用;

网页授权流程分为三步:
(1)、第一步:用户同意授权,获取code,

String appId="微信公众号的APPID"; String url="微信回调的URL"; String redirect_uri=URLEncoder.encode(url,"utf-8"); String state="重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 ";//带这个参数的好处就是防止非法的请求。String url = "https://open.weixin.qq.com/connect/oauth2/authorize?"; url = url + "appid=" + this.wxMpConfigStorage.getAppId(); url = url + "&redirect_uri=" + URIUtil.encodeURIComponent(redirectURI); url = url + "&response_type=code"; url = url + "&scope=" + scope; if (state != null) { url = url + "&state=" + state; } url = url + "#wechat_redirect";//进行URL的拼接response.sendRedirect(url);//调用http请求的,进行微信授权

(2)、第二步:通过code换取网页授权access_token:

//这段代码在你回调的指定的url的Servlet或者action:String code = request.getParameter("code");loggerWx.info("code=" + code.toString());String url="https://api.weixin.qq.com/sns/oauth2/access_token?appid="微信公众号的APPID"&secret="微信公众号的secret"&code=CODE&grant_type=authorization_code";//url的拼接String wxMpOAuth2AccessToken=httpclient.post(url);//进行网络请求

(3)、第三步:拉取用户信息(需scope为 snsapi_userinfo):

String url="https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";//url的拼接String wx_User_string=httpclient.post(url);//进行网络请求

最后寄语,有什么问题可以沟通,其实微信的官方文档解释的挺全面的,官方文档的网址:http://mp.weixin.qq.com/wiki/1/8a5ce6257f1d3b2afb20f83e72b72ce9.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。