企业微信-第三方应用接口

1、获取企业微信推送的suite_ticket,用于获取第三方应用凭证。

企业微信服务器会定时(每十分钟)推送ticket。ticket会实时变更,并用于后续接口的调用。
请求方式:POST(HTTPS)
请求地址:https://127.0.0.1/suite/receive?msg_signature=3a7b08bb8e6dbce3c9671d6fdb69d15066227608&timestamp=1403610513&nonce=380320359

请求体参数及说明:

参数 说明
SuiteId 第三方应用的SuiteId
InfoType 字符串"suite_ticket",表示微信后台推送 ticket
TimeStamp 时间戳
SuiteTicket Ticket内容,最长为512字节

以上接口为微信服务器自行推送的,我们只需要在后台拦截 '/suite/receive'接口,然后拿req.body.InfoType判断是微信后台推送,然后缓存请求体中的ticket,即req.body.SuiteTicket.最后响应成功获取到ticket.

app.post('/suite/receive', function (req, res) {
    // 获取数据类型
    let infoType = req.body.InfoType;

    if (infoType === 'create_auth') {
        // 企业推送授权信息
        let authCode = req.body.AuthCode;
        getPermanentCode(authCode);

    } else if (infoType === 'suite_ticket') {
        // 微信后台推送 ticket
        ticketCount++;
        if (ticketCount >= 10) {
            // 10min推送一次,计10次,执行一次获取suite_access_token请求
            let ticket = req.body.SuiteTicket;
            getSuiteAccessToken(ticket);
        }
    }

    res.send('success');

});

2、 获取第三方应用凭证(suite_access_token)

请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token

请求体参数及说明:

suite_id 第三方应用的SuiteID
suite_secret 第三方应用的secret
suite_ticket 企业微信后台推送的ticket(第一步缓存的suite_ticket)

返回结果:

{
    "errcode":0 ,
    "errmsg":"ok" ,
    "suite_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
    "expires_in":7200
}

参数说明:

参数 说明
suite_access_token 第三方应用access_token,最长为512字节
expires_in 有效期

3、获取预授权码

现在我们需要拿着第三方应用的access_token,去进行第三方服务商的安全验证。

请求方式:GET(HTTPS
请求地址: https://qyapi.weixin.qq.com/cgi-bin/service/get_pre_auth_code?suite_access_token=SUITE_ACCESS_TOKEN

参数说明:

参数 是否必须 说明
suite_access_token 第三方应用access_token,最长为512字节

返回结果:

{
    "errcode":0 ,
    "errmsg":"ok" ,
    "pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
    "expires_in":1200
}

参数说明:

参数 说明
pre_auth_code 预授权码,最长为512字节
expires_in 有效期

4、 设置授权配置

该接口可对某次授权进行配置。可支持测试模式(应用未发布时)。详情见https://work.weixin.qq.com/api/doc#10975/%E8%8E%B7%E5%8F%96%E4%BC%81%E4%B8%9Aaccess_token

5、获取企业的永久授权码

使用临时授权码可以换取授权方的永久授权码,并换取授权信息、企业access_token,临时授权码一次有效。

6、获取企业access_token

此处获得的企业access_token与企业获取access_token拿到的token,本质上是一样的,只不过获取方式不同。获取之后,就跟普通企业一样使用token调用API接口

7、获取企业授权信息

该API用于通过永久授权码换取企业微信的授权信息。

8、获取应用的管理员列表

该应用必须与SUITE_ACCESS_TOKEN对应的suiteid对应,否则没权限查看

9、第三方根据code获取企业成员信息

首先,构造第三方oauth2链接,获取到code。

请求方式:GET(HTTPS
请求地址:https://qyapi.weixin.qq.com/cgi-bin/service/getuserinfo3rd?access_token=SUITE_ACCESS_TOKEN&code=CODE

参数说明:

参数 必须 说明
access_token 第三方应用的suite_access_token,参见“获取第三方应用凭证”
code 通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

权限说明:
跳转的域名须完全匹配access_token对应第三方应用的可信域名,否则会返回50001错误。

10、第三方使用user_ticket获取成员详情

请求方式:POST(HTTPS
请求地址:https://qyapi.weixin.qq.com/cgi-bin/service/getuserdetail3rd?access_token=SUITE_ACCESS_TOKEN

请求包体:

{
"user_ticket": "USER_TICKET"
}

参数说明:

参数 必须 说明
access_token 第三方应用的suite_access_token,参见“获取第三方应用凭证”
user_ticket 成员票据

权限说明:
成员必须在授权应用的可见范围内。

猜你喜欢

转载自blog.csdn.net/weboof/article/details/88127404