企業微信關聯小程式取得目前登入小程式的員工資訊
最近應領導要求,自動取得員工信息,遇到了一些問題,再在此記錄一下。
小程式想要獲取員工的用戶信息,需要依序取得下面幾個參數,環環相扣的。
code。此處code是用於傳值到服務端和自產自銷。
corpid 企業的企業id。尋找路徑–>登入企業微信網頁版
corpsecret 取得的前提是正在開發的小程式已經與企業微信進行了關聯。驚不驚喜意不意外?這要求就像是我想跑步但我還沒有腿。解決方法:用已經和企業微信關聯好的小程式的corpsecret 。此參數尋覓路徑:
透過上面兩個參數用來取得access_token。代碼:
wx.request({ url: 'https://qyapi.weixin.qq.com/cgi-bin/gettoken', data: { corpid:'你的企业corpid', corpsecret:'你的小程序corpsecret' },})
官方回傳參數 清單
//成功的返回结果{ "errcode":0, "errmsg":"", "access_token": "accesstoken000001", "expires_in": 7200}//失败的返回结果{ "errcode":40091, "errmsg":"secret is invalid"}
#透過access_token、code來取得userid。 userid的解釋:from官方
用户在企业内的UserID,对应管理端的帐号,企业内唯一。注意:如果该企业没有关联该小程序,则此处返回加密的userid
取得userid的程式碼
wx.request({ url: 'https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session', data:{ access_token:res.data.access_token, js_code:login.code, grant_type:'authorization_code', },})
然後拿到access_token和userid我們來取得目前員工的資訊
wx.request({ url: 'https://qyapi.weixin.qq.com/cgi-bin/user/get', data:{ access_token:res.data.access_token, userid:getInfo.data.userid }, })
回傳的結果json物件:from官方
{ "errcode": 0, "errmsg": "ok", "userid": "zhangsan", "name": "张三", "department": [1, 2], "order": [1, 2], "position": "后台工程师", "mobile": "13800000000", "gender": "1", "email": "zhangsan@gzdev.com", "is_leader_in_dept": [1, 0], "avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0", "thumb_avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/100", "telephone": "020-123456", "alias": "jackzhang", "address": "广州市海珠区新港中路", "open_userid": "xxxxxx", "main_department": 1, "extattr": { "attrs": [ { "type": 0, "name": "文本名称", "text": { "value": "文本" } }, { "type": 1, "name": "网页名称", "web": { "url": "http://www.test.com", "title": "标题" } } ] }, "status": 1, "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx", "external_position": "产品经理", "external_profile": { "external_corp_name": "企业简称", "external_attr": [{ "type": 0, "name": "文本名称", "text": { "value": "文本" } }, { "type": 1, "name": "网页名称", "web": { "url": "http://www.test.com", "title": "标题" } }, { "type": 2, "name": "测试app", "miniprogram": { "appid": "wx8bd80126147dFAKE", "pagepath": "/index", "title": "my miniprogram" } } ] }}
微信提示:當你的小程式未和企業微信關聯,就算你用別的小程式的corpsecret,在微信開發者工具中還是會顯示invalid code 。這是因為你目前的微信小程式開發的專案未與企業微信關聯故解決方案兩個:
相關免費學習推薦:微信小程式開發
以上是詳解企業微信關聯小程式取得員工信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!