获取企业授权
获取企业授权
为了保证信息安全,所有API(包括第三方API及通讯录、发消息等所有API)调用需要验证来源域名。只有在应用开发信息中填写的合法授信域名才能合法调用。
获取第三方应用凭证
该API用于获取第三方应用凭证(suite_access_token)。
由于应用提供商可能托管了大量的企业,其安全问题造成的影响会更加严重,本接口除了合法来源IP校验之外,还额外需要suite_ticket等参数进行校验(在管理后台应用详情-开发信息获取SuiteTicket值)。 通过本接口获取的suite_access_token有效期为2小时,开发者可以进行缓存,避免频繁获取。
请求方式:POST(HTTPS) 请求地址:https://api.im.baidu.com/api/service/get_suite_token
请求body:
{
"suite_id": "suite_id_value",
"suite_secret": "suite_secret_value",
"suite_ticket": "suite_ticket_value"
}
参数说明:
参数 | 类型 | 参数位置 | 是否必须 | 说明 |
---|---|---|---|---|
suite_id | String | RequestBody | 是 | 在管理后台应用详情-开发信息获取SuiteID值 |
suite_secret | String | RequestBody | 是 | 在管理后台应用详情-开发信息获取SuiteSecret值 |
suite_ticket | String | RequestBody | 是 | 在管理后台应用详情-开发信息获取SuiteTicket值 |
返回结果:
{
"errcode": "0",
"errmsg": "ok",
"suite_access_token": "61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
"expires_in": 7200
}
参数说明:
参数 | 说明 |
---|---|
suite_access_token | 第三方应用凭证suite_access_token,最长为512字节 |
expires_in | 有效期 |
获取企业永久授权码
该API用于使用临时授权码auth_code换取授权方的永久授权码,并换取授权信息、企业access_token,临时授权码一次有效。建议第三方以userid为主键,来建立自己的管理员账号。
请求方式:POST(HTTPS)
请求地址:https://api.im.baidu.com/api/service/get_permanent_code?suite_access_token=SUITE_ACCESS_TOKEN
请求body:
{
"suite_id": "suite_id_value",
"auth_code": "auth_code_value"
}
参数说明:
参数 | 类型 | 参数位置 | 是否必须 | 说明 |
---|---|---|---|---|
suite_access_token | String | Url参数 | 是 | 上一步获取到的suite_access_token |
suite_id | String | RequestBody | 是 | 在管理后台应用详情-开发信息的SuiteID值 |
auth_code | String | RequestBody | 是 | 临时授权码,会在授权成功时通过回调推送给服务商。64~512字节 |
返回结果:
{
"access_token": "xxxxxx",
"expires_in": 7200,
"permanent_code": "xxxx",
"auth_corp_info": {
"id": 1,
"corpid": "xxxx",
"corp_name": "name",
"corp_type": "verified",
"corp_user_max": 50,
"corp_agent_max": 30,
"corp_full_name": "full_name"
},
"auth_info": {
"agent": [
{
"agentid": 1,
"name": "NAME",
"appid": 1
},
{
"agentid": 2,
"name": "NAME2",
"appid": 5
}
],
"department": [
{
"id": 2,
"name": "PARTYNAME",
"parentid": 1
}
] ,
"tag": [
{
"id": 2,
"name": "tagName"
}
],
"user": [
{
"userid": "zhangsan",
"name": "张三"
}
]
}
}
参数说明:
参数 | 说明 |
---|---|
access_token | 授权方(企业)access_token |
expires_in | 授权方(企业)access_token过期时间 |
permanent_code | 企业永久授权码,64~512字节 |
auth_corp_info | 授权方企业信息 |
corpid | 授权方企业CorpID |
corp_name | 授权方企业名称 |
corp_type | 授权方认证级别, 0:未认证,1:普通认证,2:合作方,3:SVIP |
corp_user_max | 授权方企业用户规模 |
corp_agent_max | 授权方企业应用上限 |
corp_full_name | 授权方认证的企业主体名称(仅认证过的企业有) |
auth_info | 授权信息 |
agent | 授权的应用信息,注意是一个数组,但仅旧的多应用套件授权时会返回多个agent,对新的单应用授权,永远只返回一个agent |
agentid | 授权方应用id |
agent:name | 授权方应用名字 |
appid | 在管理后台应用详情-基本信息获取AppID值 |
department | 授权的应用可见范围(部门) |
department:id | 授权的应用可见范围(部门)id |
department:name | 授权的应用可见范围(部门)名称 |
department:parentid | 授权的应用可见范围(部门)父部门id |
tag | 授权的应用可见范围(标签) |
tag:id | 授权的应用可见范围(标签)id |
tag:name | 授权的应用可见范围(标签)名称 |
user | 授权的应用可见范围(员工) |
user:id | 授权的应用可见范围(员工)id |
user:name | 授权的应用可见范围(员工)名称 |
获取企业授权信息
该API用于通过永久授权码换取企业的授权信息。 永久授权码的获取,是通过临时授权码使用get_permanent_code 接口获取到的permanent_code。 请求方式:POST(HTTPS) 请求地址:https://api.im.baidu.com/api/service/get_auth_info?suite_access_token=SUITE_ACCESS_TOKEN
请求body:
{
"suite_id": "suite_id_value",
"auth_corpid": "auth_corpid_value",
"permanent_code": "permanent_code_value"
}
参数说明:
参数 | 类型 | 参数位置 | 是否必须 | 说明 |
---|---|---|---|---|
suite_access_token | String | Url参数 | 是 | 上一步获取到的suite_access_token |
suite_id | String | RequestBody | 是 | 在管理后台应用详情-开发信息获取SuiteID值 |
auth_corpid | String | RequestBody | 是 | 授权方CorpID,上一步响应中的auth_corp_info.corpId |
permanent_code | String | RequestBody | 是 | 永久授权码,通过get_permanent_code获取 |
返回结果:
{
"auth_corp_info": {
"id": 1,
"corpid": "corpid_value",
"corp_name": "name",
"corp_type": 1,
"corp_user_max": 50,
"corp_agent_max": 30,
"corp_full_name": "full_name"
},
"auth_info": {
"agent": [
{
"agentid": 1,
"name": "NAME",
"appid": 1
}
],
"department": [
{
"id": 2,
"name": "PARTYNAME",
"parentid": 1
}
],
"tag": [
{
"id": 2,
"name": "tagName"
}
],
"user": [
{
"userid": "zhangsan",
"name": "张三"
}
]
}
}
参数说明:
参数 | 说明 |
---|---|
auth_corp_info | 授权方企业信息 |
corpid | 授权方企业CorpID |
corp_name | 授权方企业名称 |
corp_type | 授权方认证级别,0:未认证,1:普通认证,2:合作方,3:SVIP |
corp_user_max | 授权方企业用户规模 |
corp_agent_max | 授权方企业应用规模 |
corp_full_name | 授权方认证的企业主体名称(仅认证过的企业有) |
auth_info | 授权信息 |
agent | 授权的应用信息,注意是一个数组,但仅旧的多应用套件授权时会返回多个agent,对新的单应用授权,永远只返回一个agent |
agentid | 授权方应用id |
agent:name | 授权方应用名字 |
appid | 在管理后台应用详情-基本信息获取AppID值 |
department | 授权的应用可见范围(部门) |
department:id | 授权的应用可见范围(部门)id |
department:name | 授权的应用可见范围(部门)名称 |
department:parentid | 授权的应用可见范围(部门)父部门id |
tag | 授权的应用可见范围(标签) |
tag:id | 授权的应用可见范围(标签)id |
tag:name | 授权的应用可见范围(标签)名称 |
user | 授权的应用可见范围(员工) |
user:id | 授权的应用可见范围(员工)id |
user:name | 授权的应用可见范围(员工)名称 |
获取企业凭证
第三方服务商在取得企业的永久授权码后,通过此接口可以获取到企业的access_token, 获取后可通过通讯录、应用、消息等企业接口来运营这些应用。建议在有效期内缓存起来,定时更新避免重复调用。 请求方式:POST(HTTPS) 请求地址:https://api.im.baidu.com/api/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN
请求body:
{
"suite_id": "suite_id_value",
"auth_corpid": "auth_corpid_value",
"permanent_code": "permanent_code_value"
}
参数说明:
参数 | 类型 | 参数位置 | 是否必须 | 说明 |
---|---|---|---|---|
suite_access_token | String | Url参数 | 是 | 上一步获取到的suite_access_token |
suite_id | String | RequestBody | 是 | 在管理后台应用详情-开发信息获取SuiteID值 |
auth_corpid | String | RequestBody | 是 | 授权方CorpID,上一步响应中的auth_corp_info.corpId |
permanent_code | String | RequestBody | 是 | 永久授权码,通过get_permanent_code获取 |
返回结果:
{
"access_token": "xxxxxx",
"expires_in": 7200
}
参数说明:
参数 | 说明 |
---|---|
access_token | 授权方(企业)access_token |
expires_in | 授权方(企业)access_token超时时间 |