• 获取企业微信用户信息


    ### 1. 前端部分,要运行在微信端 [管理地址:https://work.weixin.qq.com/](https://work.weixin.qq.com/)
    ``` js
    const code = this.getQueryStringByName(window.location.href,'code')
    if(code){
    const url = `${this.path}/users/info?code=${code}`
    const userInfo = await fetch(url)
    console.log(userInfo)
    }
    else
    {
    //企业的CorpID
    const CORPID = 'wxxxxxxxxx'
    //企业应用的id
    const AGENTID = '8888'
    // 回调地址,其中 abc.com.cn 这个域必须要被验证
    const REDIRECT_URI = encodeURIComponent('http://abc.com.cn/page')
    const SCOPE = 'snsapi_userinfo'
    const STATE = '1'//不必须
    const url1 = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${CORPID}&redirect_uri=${REDIRECT_URI}&response_type=code&scope=${SCOPE}&agentid=${AGENTID}&state=${STATE}#wechat_redirect`
    window.location.href = url1
    }
    ```


    ### 2. 后端部分
    ``` js

    const fetch = require('node-fetch')

    //企业的CorpID
    const CORPID = 'wx11111111111‘
    //企业应用的SECRECT
    const SECRECT = 'xxxxxx‘//可以变更
    let ACCESS_TOKEN = null;

    /**
    * 获取access_token
    * https://work.weixin.qq.com/api/doc#10013/%E7%AC%AC%E4%B8%89%E6%AD%A5%EF%BC%9A%E8%8E%B7%E5%8F%96access_token
    */
    const getAccessToken = async ()=>{
    const url = `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${CORPID}&corpsecret=${SECRECT}`
    const res = await fetch(url)
    return await res.json()
    }

    const getBaseUserInfo = async (code,_access_token)=>{
    let access_token = null
    if(!_access_token) {
    data = await getAccessToken()
    access_token = data.access_token
    console.log('getAccessToken')
    console.log(data)
    }
    else
    access_token = _access_token
    ACCESS_TOKEN = access_token
    const url2 = `https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=${ACCESS_TOKEN}&code=${code}`
    const res2 = await fetch(url2,{
    method:'POST'
    })
    return await res2.json()
    }

    module.exports.getDetaileUserInfo = async (code,access_token)=>{
    const {user_ticket,UserId} = await getBaseUserInfo(code,access_token)
    const url3 = `https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=${ACCESS_TOKEN}&userid=${UserId}`
    const res3 = await fetch(url3)
    const data = await res3.json();
    console.log(data)
    return Object.assign(data,{access_token:ACCESS_TOKEN})
    }
    ```

  • 相关阅读:
    centos7下部署nginx+supervisor+netcore2.1服务器环境
    centos6.1配置nodejs运行环境
    centos下远程访问redis端口配置
    如何成为一名合格的软件测试师
    Maven之安装及构建简单项目 掠影
    JAVA语言单元测试框架——JUnit浅析
    软件测试 之 白盒测试 掠影
    软件测试 之 黑盒测试 掠影
    以一个闰年检测程序为例的非法字符异常输入检测
    学习心得——测试框架浅析
  • 原文地址:https://www.cnblogs.com/xuezizhenchengxuyuan/p/9119824.html
Copyright © 2020-2023  润新知