zoukankan      html  css  js  c++  java
  • 微信企业号开发[二]——获取用户信息

    注:文中绿色部分为摘自微信官方文档

    在《微信企业号开发[一]——创建应用》介绍了如何创建应用,但是当用户点击应用跳转到我们设定的URL时,其实并没有带上用户的任何信息,为了获取用户信息,我们需要借助微信提供的OAuth2.0接口

    获取用户信息分两步:

    1. 构造URL获取code
    2. 根据code获取成员信息

    一、构造URL获取code

    企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    参数说明

    参数必须说明
    appid 企业的CorpID
    redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
    response_type 返回类型,此时固定为:code
    scope 应用授权作用域,此时固定为:snsapi_base
    state 重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
    #wechat_redirect 微信终端使用此参数判断是否需要带上身份信息

    员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid。

    摘自http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3

    appid

        如下图所示获取

        

    scope

        可以使用snsapi_base或snsapi_userinfo,snsapi_userinfo能够获取到更多信息,但需用户显式授权

    修改URL

    假设我们要访问的页面是http://abc.com/homepage.html,CORPID为wx7ce4xxxxxxxa4dd1,最终我们构造的URL为

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7ce4xxxxxxxa4dd1&redirect_uri=http%3a%2f%2fabc.com%2fhomepage.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect

    最后把应用的主页URL设置为该URL即可,当用户点击应用时最终跳转的页面为http://abc.com/homepage.html?code=xxxx&state=1

    注意:应用需设置可信域名,如果最终跳转页面的域名与可信域名不符将无法跳转

    二、根据code获取成员信息

    根据code获取成员信息

    • 请求说明

        Https请求方式:GET

               https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

    • 参数说明
    参数必须说明
    access_token 调用接口凭证
    code 通过成员授权获取到的code,每次成员授权带上的code将不一样,code只能使用一次,10分钟未被使用自动过期
    • 权限说明

        跳转的域名须完全匹配管理组中任一应用的可信域名。

    • 返回结果

        a)企业成员授权时返回示例如下:

        {
           "UserId":"USERID",
           "DeviceId":"DEVICEID"
        } 
    摘自http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3

    目前我们已经获取到code了,还差一个access_token参数即可获取到用户的信息,关于access_token的获取将在下一节《
    微信企业号开发[三]——调用微信接口》继续讲解
     

    [目录]
    [上一篇]微信企业号开发[一]——创建应用
    [下一篇]微信企业号开发[三]——调用微信接口

    
    
  • 相关阅读:
    Exp9 Web安全基础
    EXP8 Web基础
    Exp7 网络欺诈防范
    Exp6 信息搜集与漏洞扫描
    Exp5 MSF基础应用
    Exp4 恶意代码分析
    Exp3 免杀原理与实践
    Exp2 后门原理与实践 20154317
    正则表达Regex替换标签
    正则表达式
  • 原文地址:https://www.cnblogs.com/leap/p/5913027.html
Copyright © 2011-2022 走看看