http://u220434.s1.weizhan1.com/admin/login.html
如何向成员发送消息
将开始调用企业的开放接口,通过当前访问成员的 user_id 向企业员工推送一条 “Hello World” 的应用消息。
通过本节教程,开发者将了解:
在开始本教程内容前,开发者需要做如下准备:
第三方服务商在取得企业的***授权码后,通过此接口可以获取到企业的 access_token。获取 access_token是调用企业微信 API 接口的***步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于 access_token 来鉴权调用者身份。
获取企业凭证需要 suite_access_token ,关于如何获得 suite_access_token 请参考 三:如何获取第三方应用凭证 内容。
// 从缓存中读取 permanant_codelet permanent_code = Tool.GetPermanentCode(corp_id);// 从缓存中读取 suite_access_tokenlet suite_access_token = Tool.GetSuiteAccessToken();// 获取企业授权let {data} = await axios.post(`https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=${suite_access_token}`,{permanent_code,auth_corpid});let {access_token} = data;if(access_token){console.log('获取 corp_access_token 成功',access_token);// 缓存当前企业的 access_tokenTool.SaveCorpAccessToken(corp_id);}else{console.error('获取 corp_access_token 失败',data);}关于获取企业凭证更多的内容,请参考 获取企业凭证。
我们在上一步中得到了企业凭证 access_token,在上节课程中得到了登录用户的 user_id。
假设在我们的第三方应用实现这样一个功能,当员工登录到这个第三方应用的时候,我们通过这个第三方应用向这名成员发送一条欢迎信息。
// 从缓存中读取当前企业的信息let corp_info = await Tool.GetCorpInfo(corp_id);// 获取当前第三方应用在企业内的 agent_idlet agent_id = corp_info.auth_info.agent[0].agentid;// 从session中读取当前访问用户的 user_idconst user_id = req.sess.user.UserId;// 读取当前企业的 access_tokenlet access_token = await Tool.GetCorpAccessToken(corp_id);// 调用推送应用消息let {data} = await axios.post(`https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${access_token}`,{"touser" : UserId,"msgtype" : "text","agentid" : agentID,"text" : {"content" : "Hello world!"}});通过调用推送应用消息的接口,成员会在会话列表看到第三方应用发送来的 Hello World 消息。
关于应用消息推送更详细的使用和说明,请参考 发送应用消息。
在前面的课程中,我们已经了解了企业微信第三方应用开发的基本流程,完成了创建应用,部署回调服务,接收 suite_ticket 推送,获得 suite_access_token,将应用安装到企业工作台,获得企业授权码,调用企业接口发送消息等步骤。
到现在,开发者已经具备了企业微信第三方应用开发的基本技能,使用企业微信更多开放能力创造强大的应用,可以通过 开发文档 了解更多开放能力,开发者还可以通过官方提供的 工具资源 进行***的开发和调试。
在下节课程中,我们将了解如何将应用上线和后续的推广运营。