zoukankan      html  css  js  c++  java
  • 微信公众号开发之获取微信用户的openID

    (注:openID同一用户同一应用唯一,UnionID同一用户不同应用唯一。不同应用指微信开放平台下的不同用户。)

    1、  申请测试号(获得appID、appsecret)

    2、  填写服务器配置并验证。

    服务端编写接口,参数为(signature,timestamp,nonce,echostr),并原样返回echostr

        

             验证之后,可开通更多公众平台接口功能。

    3、  网页授权获取用户基本信息。

    3.1、在接口权限表配置授权页面回调域名或ip

       

    3.2、服务端编写接口,该接口为回调页面的[redirect_uri],即确认授权之后页面将跳转至 [redirect_uri]?code=CODE&state=STATE。服务端接收参数CODE值。

    3.3、微信用户访问下面链接,授权。

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=[redirect_uri]&response_type=code&scope=SCOPE&state=123#wechat_redirect

    (scope=snsapi_base,默认授权,直接跳转;scope= snsapi_userinfo,授权再跳转)

     

    3.3、获取code后,请求以下链接,即可返回openID等数据(如下图)。

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

     

    (3、方法二:接收事件推送(事件:关注、取关、扫码、报位置、自定义菜单事件),这些事件触发的时候,会把一个xml数据包(如下图)发送到步骤2配的URL上,在服务端解析即可。

    我的代码中用到dom4j解析xml。事件推送以及Token验证共用那个URL。

     

     

     

    其中FromUserName即为openID。)

    4、获得openID

  • 相关阅读:
    Html5页面返回机制解决方案
    Linux(Fedora)下NodeJs升级最新版本(制定版本)
    fedora23开发环境搭建手册
    fedora安装sublime text教程
    实现斐波那契数列之es5、es6
    选择城市下拉框中选择框右对齐,文本右对齐问题
    前端笔记(二)
    前端基础笔记(一)
    解决点击输入框弹出软键盘导致弹窗失效的问题
    angularJS之ng-bind与ng-bind-template的区别
  • 原文地址:https://www.cnblogs.com/zhangzongjian/p/4895843.html
Copyright © 2011-2022 走看看