简要描述:
微信accesstoken中控接口(普通的accesstoken,1天限制2000次)
https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
接口版本:
版本号 | 制定人 | 制定日期 | 修订日期 |
---|---|---|---|
v3 | 陈碧贵 | 2021-08-27 | xxxx-xx-xx |
请求URL:
http://{url参数}/bs/api/v3/dev/wechat/普通的access-token/{ownerId}/{state}
{state}为随机码,保存在cookie,作为后端接口缓存redis的key
请求方式:
- GET
请求头:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
XownerId | 是 | string | 项目唯一ID,对应bo_project {ownerId} |
XsysId | 否 | string | 所属系统 对应 bo_system 表 |
XuserFromFirstShareId | string | 否 | 一级分享用户ID, bo_user user_id |
XuserFromSecondShareId | string | 否 | 二级分享用户ID, bo_user user_id |
XverifyApi | 是 | string | 加密规则encryptByDES(`${newGuid()} |
XfilterAreaCode | 否 | string | 行政区编码, 对应 bo_sys_area area_code |
Content-Type: | 是 | string | application/json; charset=utf-8 请求类型 |
请求参数:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
verifyGuid | 是 | string | 36位的guid值 ,同时需要传递给登录接口 |
ownerId | 是 | string | 所属项目 |
_nodejs | 是 | string | common-data 对应/Config/AppNodeJs/Plugins/fn- common-data.js, 通过nodejs插件,对响应结果进行二次处理 common-data 普通数据(小写驼峰)common-data-under 普通数据下划线 |
path参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
state | 是 | string | 随机状态码 |
返回示例:
正确时返回:
{
"data": {
"errcode": 0,
"accessToken": "48_Gvh4cs_5-z8pSTwaI9bHj_J0ULbDBeJp5UZsSFGPfIn-qlvNk4V3pz2ugpDfEEbUaO1f3pY7Vxr-8GQTOTdIfXXx6EtSwXN6172YGMT2Q6xeFGxa-0Ggmq2mrXvHE_tAc4BOi2GZ82l1GY3sIJFbAAAXYU",
"expiresIn": 7179,
"startDate": "2021-08-28T16:53:22"
},
"code": "0",
"retCode": "0",
"success": true
}
错误时返回:
{
"code": 0,
"message": ""
"error":{
errorCode:null,
errorText:null
}
"success": false,
}
中控器规则:
string drCacheKey = $"{ownerId}-wechat-tat";
//:tat=ticket-access-token
WeChatTicket weChatTicket = _dataResultCache.Get<WeChatTicket>(drCacheKey);
if (weChatTicket != null && !string.IsNullOrEmpty(weChatTicket.AccessToken))
{
if (weChatTicket.StartDate != DateTime.MinValue)
{
weChatTicket.ExpiresIn = Convert.ToInt32(weChatTicket.ExpiresIn - (DateTime.Now.ToLocalTime() - weChatTicket.StartDate).TotalMilliseconds);
}
return new ResultDetail<WeChatTicket>
{
Success = true,
Data = weChatTicket
};
}
文档更新时间: 2021-08-28 08:00 作者:admin