> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [developer.work.weixin.qq.com](https://developer.work.weixin.qq.com/tutorial/detail/39) > 三:如何获取第三方应用凭证 三:如何获取第三方应用凭证 最后更新:2023/06/05 在上一节教程中,我们对完成了回调 URL 两种形式的实现。在本节教程,我们将使用指令回调 URL 的 HttpPost 回调方式,来接收 suite_ticket,获取 suite_access_token。 通过本节教程,开发者将了解: 1. 如何使用指令回调 URL 接收 suite_ticket 2. 如何获取第三方应用凭证 suite_access_token [](#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C)准备工作 --------------------------------------------- 在开始本教程内容前,开发者需要做如下准备: * 已创建第三方应用,在第三方【应用详情】-【基本信息】找到对应的 suite_id 和 suite_secret 信息,可参考 [一:如何创建第三方应用](https://developer.work.weixin.qq.com/tutorial/detail/37) * 确保指令回调 URL 能够正确接收回调,并正确响应,可参考 [二:如何接收企业微信回调](https://developer.work.weixin.qq.com/tutorial/detail/38) [](#%E6%8E%A5%E6%94%B6-suite-ticket)接收 suite_ticket --------------------------------------------------- 企业微信服务器会定时(每十分钟)向指令回调 URL 推送 suite_ticket,在指令回调的后台逻辑中解密消息体即可得到对应的 InfoType 和 SuiteTicket 。 不同类型的指令回调会通过不同的 InfoType 进行区分,在每次解密得到 suite_ticket 后,应在服务端临时缓存起来。 ``` // 读取对应的回调 type const info_type = callbackDataBody.InfoType; console.log('InfoType', info_type); switch (info_type) { // 推送suite_ticket case 'suite_ticket': console.log('SuiteTicket', callbackDataBody.SuiteTicket); // 将 suite_ticket 缓存起来 Tool.SaveSuiteTicket(callbackDataBody.SuiteTicket); break; default: break; } ``` 关于 suite_ticket 的接收与使用更详细的内容,请参考 [推送 suite_ticket](https://developer.work.weixin.qq.com/document/path/90628)。 [](#%E8%8E%B7%E5%8F%96-suite-access-token)获取 suite_access_token --------------------------------------------------------------- 在成功接受并且缓存 suite_ticket 之后,我们可以主动来获取 suite_access_token。获取 suite_access_token 时,需要 suite_id suite_secret suite_ticket 作为参数。 ``` const axios = require('axios'); // 读取先前缓存的 suite_ticket let suite_ticket = Tool.GetSuiteTicket(); // 【应用详情】-【回调配置】对应的 suite_id 和 suite_secret 信息 const suite_id = ''; const suite_secret = ''; // 发起请求获取 suite_access_token const {data} = await axios.post('https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token', { suite_id, suite_secret, suite_ticket, }); const { suite_access_token,expires_in } = data; if (suite_access_token) { console.log('获取成功',suite_access_token); // 将 suite_access_token 缓存起来 Tool.SaveSuiteAccessToken(suite_access_token); } else{ console.error('获取失败'); } ``` 通过本接口获取的 suite_access_token 有效期为 2 小时,开发者需要进行缓存,不可频繁获取。 关于获取 suite_access_token 更详细的内容,请参考 [获取第三方凭证](https://developer.work.weixin.qq.com/document/path/90600) 。 [](#%E7%BB%93%E8%AF%AD)结语 ------------------------- 在本节教程中,我们通过接收 suite_ticket ,获取了 suite_access_token,在下节课程中,我们将演示如何进行企业授权安装应用,以及如何通过 suite_access_token 获取企业的永久授权。