All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.chanjar.weixin.cp.api.WxCpOAuth2Service Maven / Gradle / Ivy

There is a newer version: 4.6.7.B
Show newest version
package me.chanjar.weixin.cp.api;

import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.cp.bean.WxCpOauth2UserInfo;
import me.chanjar.weixin.cp.bean.WxCpUserDetail;
import me.chanjar.weixin.cp.bean.workbench.WxCpSecondVerificationInfo;

/**
 * 
 * OAuth2相关管理接口.
 *  Created by BinaryWang on 2017/6/24.
 * 
*

* 文档1:https://developer.work.weixin.qq.com/document/path/91856 * * @author Binary Wang */ public interface WxCpOAuth2Service { /** *

   * 构造oauth2授权的url连接.
   * 
* * @param state 状态码 * @return url string */ String buildAuthorizationUrl(String state); /** *
   * 构造oauth2授权的url连接.
   * 详情请见: http://qydev.weixin.qq.com/wiki/index.php?title=企业获取code
   * 
* * @param redirectUri 跳转链接地址 * @param state 状态码 * @return url string */ String buildAuthorizationUrl(String redirectUri, String state); /** *
   * 构造oauth2授权的url连接
   * 详情请见: http://qydev.weixin.qq.com/wiki/index.php?title=企业获取code
   * 
* * @param redirectUri 跳转链接地址 * @param state 状态码 * @param scope 取值参考me.chanjar.weixin.common.api.WxConsts.OAuth2Scope类 * @return url string */ String buildAuthorizationUrl(String redirectUri, String state, String scope); /** *
   * 用oauth2获取用户信息
   * http://qydev.weixin.qq.com/wiki/index.php?title=根据code获取成员信息
   * 因为企业号oauth2.0必须在应用设置里设置通过ICP备案的可信域名,所以无法测试,因此这个方法很可能是坏的。
   *
   * 注意: 这个方法使用WxCpConfigStorage里的agentId
   * 
* * @param code 微信oauth授权返回的代码 * @return WxCpOauth2UserInfo user info * @throws WxErrorException 异常 * @see #getUserInfo(Integer, String) #getUserInfo(Integer, String) */ WxCpOauth2UserInfo getUserInfo(String code) throws WxErrorException; /** *
   * 根据code获取成员信息
   * http://qydev.weixin.qq.com/wiki/index.php?title=根据code获取成员信息
   * https://work.weixin.qq.com/api/doc#10028/根据code获取成员信息
   * https://work.weixin.qq.com/api/doc#90000/90135/91023  获取访问用户身份
   * 因为企业号oauth2.0必须在应用设置里设置通过ICP备案的可信域名,所以无法测试,因此这个方法很可能是坏的。
   *
   * 注意: 这个方法不使用WxCpConfigStorage里的agentId,需要开发人员自己给出
   * 
* * @param agentId 企业号应用的id * @param code 通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。 * @return WxCpOauth2UserInfo user info * @throws WxErrorException 异常 * @see #getUserInfo(String) #getUserInfo(String) */ WxCpOauth2UserInfo getUserInfo(Integer agentId, String code) throws WxErrorException; /** * 获取家校访问用户身份 * 该接口用于根据code获取家长或者学生信息 *

* 请求方式:GET(HTTPS) * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/school/getuserinfo?access_token=ACCESS_TOKEN&code=CODE * * @param code the code * @return school user info * @throws WxErrorException the wx error exception */ WxCpOauth2UserInfo getSchoolUserInfo(String code) throws WxErrorException; /** *

   * 使用user_ticket获取成员详情
   *
   * 文档地址:https://developer.work.weixin.qq.com/document/path/95833
   * 请求方式:POST(HTTPS)
   * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=ACCESS_TOKEN
   *
   * 注意: 原/cgi-bin/user/getuserdetail接口的url已变更为/cgi-bin/auth/getuserdetail,旧接口暂时还可以使用,但建议使用新接口
   *
   * 权限说明:需要有对应应用的使用权限,且成员必须在授权应用的可见范围内。
   * 适用范围:企业内部开发、服务商代开发
   * 
* * @param userTicket 成员票据 * @return WxCpUserDetail user detail * @throws WxErrorException 异常 */ WxCpUserDetail getUserDetail(String userTicket) throws WxErrorException; /** *
   * 获取用户登录身份
   * https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
   * 该接口可使用用户登录成功颁发的code来获取成员信息,适用于自建应用与代开发应用
   *
   * 注意: 旧的/user/getuserinfo 接口的url已变更为auth/getuserinfo,不过旧接口依旧可以使用,建议是关注新接口即可
   *
   * 适用范围:身份验证中网页授权开发和企业微信Web登录的获取用户登录身份
   * 
* * @param code 通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。 * @return WxCpOauth2UserInfo user info * @throws WxErrorException 异常 * @see #getUserInfo(Integer, String) #getUserInfo(Integer, String) */ WxCpOauth2UserInfo getAuthUserInfo(String code) throws WxErrorException; /** * 获取用户二次验证信息 *

* api: https://qyapi.weixin.qq.com/cgi-bin/auth/get_tfa_info?access_token=ACCESS_TOKEN * 权限说明:仅『通讯录同步』或者自建应用可调用,如用自建应用调用,用户需要在二次验证范围和应用可见范围内。 * 并发限制:20 * * @param code 用户进入二次验证页面时,企业微信颁发的code,每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期 * @return me.chanjar.weixin.cp.bean.workbench.WxCpSecondVerificationInfo 二次验证授权码,开发者可以调用通过二次验证接口,解锁企业微信终端.tfa_code有效期五分钟,且只能使用一次。 */ WxCpSecondVerificationInfo getTfaInfo(String code) throws WxErrorException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy