1. 第三方服务商模式与普通模式对比

普通模式:

  • 客户向腾讯公益申请注册应用,获取appid和密钥,然后给appid申请接口权限,审批通过后用“appid+密钥”构造签名调用接口
  • 该模式下,客户只能访问自己应用下的数据(客户appid记为B、C、D...)

第三方服务商模式:

  • 第三方服务商仍需向腾讯公益申请注册应用,获取appid和密钥(服务商appid记为A)
  • 该模式下,客户可以把自己的应用授权第三方服务商,即把B、C、D授权给A,然后A可以访问B、C、D的数据

申请注册应用地址:点击查看

2. 第三方服务商授权流程

2.1 生成临时授权码

  • 如果第三方服务商是首次接入,请先申请注册应用
  • 目前,客户应用授权给第三方服务商,只能由公益研发手动执行,然后将临时授权码(auth_code)给到第三方服务商
    • 先用临时授权码换永久授权码
    • 再用永久授权码换客户授权access_token
    • 最后使用access_token访问客户数据

2.2 用临时授权码换永久授权码

调用凭证: 应用签名(第三方服务商需要用自己的appid和密钥构造签名)

请求方式: POST(HTTPS

请求地址: https://test-oapi.gongyi.qq.com/api/app_auth_agent/GetGyOpenPermanentCode

请求参数:

参数 类型 必填 说明
auth_code string 临时授权码,十分钟有效期(过期需要重新生成)
  • body参数示例
{
  "auth_code": "abc123"
}

返回参数:

参数 类型 说明
code int 返回码
0:表示成功,其他值表示错误,错误信息在msg中
data.permanent_code string 永久授权码(永久有效,直到客户收回授权)
data.auth_info object 客户授权信息
data.auth_info.gy_appid string 授权方appid
data.auth_info.org_id string 授权方机构id
data.auth_info.corpid string 授权方企微id(可选,只有企微场景下返回)
data.auth_info.corp_name string 授权方企微名称(可选,只有企微场景下返回)

返回示例:

{
  "code": 0,
  "data": {
    "auth_info": {
      "gy_appid": "gy_xxx",
      "org_id": "123456",
      "corp_name": "",
      "corpid": ""
    },
    "permanent_code": "F95273B0F39F12DB4F856D76DA4EC42019CC07A8B94B9953351D13C2414BE3F2"
  },
  "msg": "Success",
  "op_time": 1743662561,
  "trace_id": "1c1f5facda612345678f1ae24acec3f5"
}

2.3 用永久授权码换客户授权access_token

调用凭证: 应用签名(第三方服务商需要用自己的appid和密钥构造签名)

请求方式: POST(HTTPS

请求地址: https://test-oapi.gongyi.qq.com/api/app_auth_agent/GetGyOpenAuthAccessToken

请求参数:

参数 类型 必填 说明
permanent_code string 永久授权码
auth_gy_appid string 授权方appid
auth_corpid string 授权方企微id(只有企微场景下需要填写)
  • body参数示例
{
  "permanent_code": "xxxxxxxxxxxxxxx",
  "auth_gy_appid": "gy_xxx",
  "auth_corpid": ""
}

返回参数:

参数 类型 说明
code int 返回码
0:表示成功,其他值表示错误,错误信息在msg中
data.access_token string 客户授权access_token(一般两小时有效期,过期后仍用本接口刷新)
data.expires_in int64 过期时间(秒,int64会转成string返回)

返回示例:

{
  "code": 0,
  "data": {
    "access_token": "6c9023a39c2c9514ba4588b83d5f7f7a0ebebd6fc67acf5d82948989c228249249dee95a4ba2ba494a319f3054c6707b4c06e547ed82b723b39d9351cc4a4d12",
    "expires_in": "7200"
  },
  "msg": "Success",
  "op_time": 1742304395,
  "trace_id": "be84781f9bba7d3d120b36e912345678"
}

2.4 用access_token访问客户数据

  • 第三方服务商用授权access_token调用开放接口,在header头里鉴权参数只用传两个
    • Gy-H-Api-Access-Type // 鉴权类型(固定填1即可),0-普通客户 1-第三方服务商
    • Gy-H-Api-Access-Token // 客户授权access_token
  • 第三方服务商用授权access_token调用接口,等同于客户自己用“appid+密钥”签名调用
  • 两种方式下调用接口,除了header头里鉴权参数不同,其他参数和接口输入输出完全相同
  • img.png


注意:第三方服务商能调的接口,都是客户已有权限的接口


© 1998 - 2022 Tencent Inc. all right reserved,powered by tencent.更新时间: 2025-07-04 15:13:54

results matching ""

    No results matching ""

    results matching ""

      No results matching ""