企业微信token及相关接口关联分析

1,获取accessToken(企业 access_token ),过期时间2h


ResGetTokenVO accessTokenVO = weixinClient.getAppToken(corpid, corpsecret);

企业ID + 企业secret - > accessToken


2,获取jsapiTicket

企业jsapi_ticket_企业微信开发获取jsapiticket 干啥用的?-优快云博客
accessToken -> sapiTicket,过期时间
ResGetJsapiTicketVO jsapiTicket = weixinClient.getJsapiTicket(accessTokenVO.getAccessToken());


3,缓存微信wxapp,过期时间1h


appInfo = new encentApp();
appInfo.setAccessToken(accessTokenVO.getAccessToken());
appInfo.setAcstknExpires(accessTokenVO.getExpires());
appInfo.setTicket(jsapiTicket.getTicket());
appInfo.setAcstknExpires(jsapiTicket.getExpires());
redis.set(key, appInfo, TimeUnit.HOURS.toSeconds(appExpireHour));


4,获取用户ID


accessToken + code -> userId
ResGetuserinfoVO getuserno = weixinClient.getuserno(appInfo.getAccessToken(), code);

https://blog.youkuaiyun.com/C18298182575/article/details/145956996?spm=1011.2415.3001.5331

access_token: 企业的 access_token,通过 corpid 和 corpsecret 获取。

code: OAuth2 授权流程中获取的授权码。

参数:

access_token: 企业的 access_token,通过 corpid 和 corpsecret 获取。

code: OAuth2 授权流程中获取的授权码。

返回值:

如果用户是企业成员,返回 UserId(用户在企业微信中的唯一标识)。

如果用户是非企业成员(如外部联系人),返回 OpenId(用户在微信中的唯一标识)。


5,获取用户信息,缓存8h


accessToken + userId -> userName
ResGetUserVO getUserVO = weixinClient.getuser(appInfo.getAccessToken(), getuserno.getUserId());

6,获取签名


参数ticket是第二步中ticket
ticket -> sign

sb.append("jsapi_ticket=").append(appInfo.getTicket())
        .append("&noncestr=").append(reqSignVO.getNoncestr())
        .append("&timestamp=").append(reqSignVO.getTimestamp())
        .append("&url=").append(reqSignVO.getUrl());
String sign = Hashing.sha1().hashString(sb, StandardCharsets.UTF_8).toString();


7,拍照,


https://blog.youkuaiyun.com/C18298182575/article/details/145956992?spm=1011.2415.3001.5331

为什么需要 jsapi_ticket?
调用微信 JS-SDK:

微信 JS-SDK 提供了丰富的网页端功能,包括拍照、分享、定位、扫码等。

为了确保安全性,调用 JS-SDK 需要生成签名(signature),而生成签名需要使用 jsapi_ticket。


8,企业 access_token 与用户 access_token 的区别


特性    企业 access_token                                                   用户 access_token
用途    用于调用企业微信的企业级 API,如管理通讯录、发送消息等。            用于调用企业微信的用户级 API,如获取用户信息、OAuth2 授权等。
获取方式    通过企业 ID (corpid) 和应用 Secret (corpsecret) 获取。    通过 OAuth2 授权流程获取(需要用户授权)。
有效期    7200 秒(2 小时),需要定时刷新。                            7200 秒(2 小时),需要定时刷新。
权限范围    企业级权限,可以访问企业所有数据。                            用户级权限,只能访问授权用户的数据。

                        
原文链接:https://blog.youkuaiyun.com/C18298182575/article/details/145955363
https://blog.youkuaiyun.com/C18298182575/article/details/145955363?spm=1011.2415.3001.5331


8,企业微信token有效期每次都是7200秒,难道不刷新么?困扰我很久了?

https://blog.youkuaiyun.com/C18298182575/article/details/139531124?spm=1011.2415.3001.5331
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值