Skip to main content
Version: latest

接口授权

该授权方式于团队开发者读写团队下的数据。

第一步: 获取团队授权 access_token#

注意!

  1. 这里获取的 access_token 与团队资源相关,安全等级非常高,必须只保存在服务器,不允许传给客户端。
  2. 后续通过 access_token 获取团队数据等步骤,也必须从服务器发起。
  3. 建议开发者使用中控服务器统一获取和刷新 access_token,其他业务逻辑服务器所使用的 access_token 均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致 access_token 覆盖而影响业务(多次刷新 access_token ,仅有最新一个有效)。
  4. access_token 有效期为2小时,建议中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新 access_token 的接口,这样便于业务服务器在API调用获知 access_token 已超时的情况下,可以触发 access_token 的刷新流程。

接口地址#

GET https://open.wj.qq.com/api/oauth2/access_token?appid={appid}&secret={secret}&grant_type=client_credential

将 {appid} 和 {secret} 替换成从团队管理页面获取的应用凭证,请求时不需要带括号 {}

参数说明#

参数名类型是否必须描述
appidstring颁发给团队的应用ID
secretstring颁发给团队的应用秘钥
grant_typestring固定为 client_credential

返回说明#

参数名类型描述
access_tokenstring授权码
expires_ininteger有效时间,默认为2小时,过期后须重新发起授权
{    "code": "OK",    "error": {        "type": ""    },    "data": {        "access_token": "ACCESS_TOKEN",        "expires_in": 7200    },    "request_id": "6cda53f4-d0fa-41a9-95a0-77ea32c97f1e"}

错误码#

error.type 错误代码错误描述
request_rate_limited请求频率太高,请降低频率,access_token 有效期为2小时,应进行缓存而不是实时获取
invalid_org_subscription当前团队版本没有使用接口的权限,请先 升级 后再使用

第二步:使用 access_token 请求读写团队下的问卷数据#

在请求接口加上 ?appid={APPID}&access_token={ACCESS_TOKEN}
例如获取团队的问卷详情:

GET https://open.wj.qq.com/api/surveys/{survey_id}/legacy?appid={APPID}&access_token={ACCESS_TOKEN}

个别接口需加上 ?openid={OPENID} 例如获取用户的问卷列表:

GET https://open.wj.qq.com/api/surveys?appid={APPID}&access_token={ACCESS_TOKEN}&openid={OPENID}