接口授权
该授权方式于团队开发者读写团队下的数据。
#
第一步: 获取团队授权 access_token注意!
- 这里获取的 access_token 与团队资源相关,安全等级非常高,必须只保存在服务器,不允许传给客户端。
- 后续通过 access_token 获取团队数据等步骤,也必须从服务器发起。
- 建议开发者使用中控服务器统一获取和刷新 access_token,其他业务逻辑服务器所使用的 access_token 均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致 access_token 覆盖而影响业务(多次刷新 access_token ,仅有最新一个有效)。
- 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} 替换成从团队管理页面获取的应用凭证,请求时不需要带括号 {}
#
参数说明参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
appid | string | 是 | 颁发给团队的应用ID |
secret | string | 是 | 颁发给团队的应用秘钥 |
grant_type | string | 是 | 固定为 client_credential |
#
返回说明参数名 | 类型 | 描述 |
---|---|---|
access_token | string | 授权码 |
expires_in | integer | 有效时间,默认为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}