OK,通过以上几点,只有企业微信中的授权用户才能看到企业微信工作台上的小程序。
工艺流程
好了,既然问题已经弄清楚了,让我们开始吧。
1、小程序基础功能开发开发微信小程序开发微信小程序,提交审核
对 微信开发小程序软件 ,你没看错,先提交审核,因为只有审核通过的小程序才能绑定企业微信。所以先做小程序的基本功能,可以限制一些功能。简而言之,小程序首先上架。同时在小程序管理后台设置“不允许被搜索”,避免不必要的麻烦。
2、企业微信关联小程序
进入企业微信后台->应用管理->小程序->关联小程序,然后使用小程序管理员的微信扫码,按照提示操作即可。
3、获取关联小程序的Secret并设置可见范围
在上一步的小程序页面会出现关联的小程序,点击进入,然后就可以看到秘籍和可见范围了。
此密钥相当于小程序访问企业微信数据的令牌,请妥善保管。
可见范围是授权,用户可以看到小程序,设置为可见的用户会在自己企业微信的工作台上看到小程序。
4、修改小程序
好了 微信小程序开发制作 ,现在是重头戏。
4.1、判断运行环境
小程序需要判断当前的运行环境(普通微信还是企业微信),使用当前小程序的用户是否有使用权限。
var isWxWork = false;
wx.getSystemInfo({
success(res) {
console.log(res.environment);
isWxWork = res.environment == 'wxwork';
if (!isWxWork) {
// 当前环境不是企业微信,怎么处理你随便
return;
}
// 当前环境是企业微信,执行登陆,获取用户 code,用于后面的权限校验
wx.qy.login({
success: function (res) {
if (res.code) {
console.log(res.code);
// 这里可以将 res.code 通过请求发送给后台,让后台做权限校验
} else {
console.log('登录失败!' + res.errMsg);
}
}
});
}
})
4.2、权限验证
后台需要调用以下接口进行权限验证。
1、获取access_token
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx
请求方式:GET
该接口类似于普通微信获取token的方法。
其中corpid在企业微信管理后台->我的企业->企业信息->企业ID;corpsecret是我们在上一步关联小程序后得到的秘密。
返回内容如下:
{
"errcode": 0,
"errmsg": "ok",
"access_token": "xxxxxx",
"expires_in": 7200
}
2、获取用户ID
https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=xxx&js_code=xxx&grant_type=authorization_code
请求方式:GET
其中,access_token是上一步通过gettoken获取的;js_code是判断运行环境时得到的res.code;grant_type 固定为通过 authorization_code
返回内容如下:
{
"userid": "bottle",
"session_key": "xxxxx",
"corpid": "xxxxxx",
"deviceid": "xxxxxx",
"errcode": 0,
"errmsg": "ok"
}
这里的corpid可以用来初步验证当前用户是否有权限,因为不管是哪个公司,只要他用企业微信,用这个小程序 小程序开发报价 ,就会返回结果。您需要检查该corpid是否属于您授权的企业。ID验证,如果没有,直接返回no权限,无需进行下一步。
当然,corpid 也可以用来处理与多个公司关联的小程序,但这是另一个问题。这里简单提一下,因为是为其他公司开发的小程序,所以我们的小程序也关联了两家公司,一个给我们公司,一个给其他公司,也方便我们测试,只给我们自己的自己的测试人员。授权允许他们使用完全相同的环境进行测试。
3、获取用户信息(判断权限)
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=xxx&userid=xxx
请求方式:GET
其中 微信小程序开发价格 ,access_token是上一步通过gettoken获取的;userid 为上一步获取的用户ID。
返回内容如下:
{
"errcode": 0,
"errmsg": "ok",
"userid": "xxx",
"name": "xxx",
"department": [],
"position": "",
"mobile": "xxx",
"gender": "2",
"email": "",
"avatar": "http://p.qlogo.cn/bizmail/xxx/0",
"status": 1,
"isleader": 0,
"extattr": {
"attrs": []
},
"telephone": "",
"enable": 1,
"hide_mobile": 0,
"order": [],
"qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=xxx",
"alias": "",
"is_leader_in_dept": []
}
{
"errcode": 60011,
"errmsg": "no privilege to access/modify contact/party/agent , hint: [1564556097_7_8d45297bd21be3702ff430560e1f0652], from ip: 118.113.1.217, more info at https://open.work.weixin.qq.com/devtool/query?e=60011",
"department": [],
"order": [],
"is_leader_in_dept": []
}
好的 微信小程序开发价格 ,你可以根据是否有权限进行不同的操作开发微信小程序,这里不再赘述。
参考
企业微信API(小程序):
企业微信界面调试工具:
错误码查询工具:
发现、改变
探知、求新
共享,感恩一路相伴
昱远品牌形象已完成全面升级
点击访问新官网