| 限定符和类型 | 方法和说明 |
|---|---|
ApiResponse |
OpenApiManager.selectQuota(@NotBlank(message="cgiPath\u4e0d\u80fd\u4e3a\u7a7a") String cgiPath) |
ApiRequestRecord |
OpenApiManager.selectRid(@NotBlank(message="rid\u4e0d\u53ef\u4ee5\u4e3a\u7a7a") String rid) |
| 限定符和类型 | 方法和说明 |
|---|---|
WeChatResponse |
WebPageAuthorizationManager.checkAccessToken(@NotBlank(message="\u7528\u6237\u7684id\u4e0d\u80fd\u4e3a\u7a7a") String openId,
@NotBlank(message="\u6388\u6743token\u4e0d\u80fd\u4e3a\u7a7a") String accessToken)
检验授权凭证(access_token)是否有效
|
AuthAccessTokenResponse |
WebPageAuthorizationManager.getAuthorizeAccessToken(@NotBlank(message="\u5fae\u4fe1\u6388\u6743code\u4e0d\u80fd\u4e3a\u7a7a") String code)
第二步:通过 code 换取网页授权access_token
首先请注意,这里通过 code 换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。
|
String |
WebPageAuthorizationManager.getAuthorizeUrl(@NotBlank(message="\u91cd\u5b9a\u5411\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a") @Pattern(regexp="^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\\\/])+$",message="\u91cd\u5b9a\u5411\u5730\u5740\u5fc5\u987b\u662f\u4e00\u4e2a\u94fe\u63a5\u5730\u5740") String redirectUri,
@NotNull(message="\u6388\u6743\u4f5c\u7528\u57df\u4e0d\u80fd\u4e3a\u7a7a") AuthScope scope,
@Size(max=128,message="\u6700\u5927\u957f\u5ea6128\u5b57\u8282") String state)
第一步:用户同意授权,获取code
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下
(已认证服务号,默认拥有 scope 参数中的snsapi_base和snsapi_userinfo 权限),引导关注者打开如下页面:
https://open.weixin.qq.com/connect/oauth2/authorize?
|
AuthUserInfoResponse |
WebPageAuthorizationManager.getUserInfo(@NotBlank(message="\u7528\u6237\u7684id\u4e0d\u80fd\u4e3a\u7a7a") String openId,
@NotBlank(message="\u6388\u6743token\u4e0d\u80fd\u4e3a\u7a7a") String accessToken,
@NotNull(message="\u8bed\u8a00\u4e0d\u80fd\u4e3a\u7a7a") LanguageEnum languageEnum)
第四步:拉取用户信息(需 scope 为 snsapi_userinfo)
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和 openid 拉取用户信息了。
|
AuthAccessTokenResponse |
WebPageAuthorizationManager.refreshToken(@NotBlank(message="\u5f85\u5237\u65b0\u5f85token\u4e0d\u80fd\u4e3a\u7a7a") String token)
第三步:刷新access_token(如果需要)
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,
refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
|
| 限定符和类型 | 方法和说明 |
|---|---|
WeChatResponse |
PermanentMaterialManager.deleteMaterial(@NotBlank(message="\u5220\u9664\u7d20\u6750id\u4e0d\u80fd\u4e3a\u7a7a") String mediaId)
删除素材
|
byte[] |
PermanentMaterialManager.download(@NotBlank(message="\u4e0b\u8f7d\u7d20\u6750id\u4e0d\u80fd\u4e3a\u7a7a") String mediaId)
获取永久素材
|
PermanentMaterialResponse |
PermanentMaterialManager.upload(@NotNull(message="\u6587\u4ef6\u7c7b\u578b\u4e0d\u80fd\u4e3a\u7a7a") MaterialEnum materialEnum,
@NotNull(message="\u6587\u4ef6\u6570\u636e\u4e0d\u80fd\u4e3a\u7a7a") byte[] fileData,
@NotBlank(message="\u6587\u4ef6\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a") String fileName,
String videoTitle,
String videoIntroduction)
上传永久素材
|
PermanentMaterialResponse |
PermanentMaterialManager.upload(@NotNull(message="\u6587\u4ef6\u7c7b\u578b\u4e0d\u80fd\u4e3a\u7a7a") MaterialEnum materialEnum,
@NotNull(message="\u6587\u4ef6\u4e0d\u80fd\u4e3a\u7a7a") File file,
String videoTitle,
String videoIntroduction)
上传永久素材
|
| 限定符和类型 | 方法和说明 |
|---|---|
WeChatResponse |
MenuManager.createMenu(@NotEmpty(message="\u521b\u5efa\u83dc\u5355\u8f93\u5165\u53c2\u6570\u4e0d\u80fd\u4e3a\u7a7a") List<MenuDTO> list)
创建菜单
|
PersonalizedMenuResponse |
PersonalizedMenuManager.createMenu(PersonalizedMenuDTO personalizedMenuDTO)
创建个性化菜单
|
WeChatResponse |
PersonalizedMenuManager.deleteMenu(@NotBlank(message="\u83dc\u5355id\u4e0d\u80fd\u4e3a\u7a7a") String menuId)
删除菜单数据
|
MatchPersonalizedMenuResponse |
PersonalizedMenuManager.tryMatch(@NotBlank(message="uid\u4e0d\u80fd\u4e3a\u7a7a") String uid)
尝试匹配用户信息
|
| 限定符和类型 | 方法和说明 |
|---|---|
WeChatResponse |
SyncPushCustomer.pushCustomer(@NotNull(message="\u5f85\u5904\u7406\u7684\u4fe1\u606f\u4e0d\u80fd\u4e3a\u7a7a") CustomerMessageDTO messageDTO)
推送一个客服信息
|
List<WeChatResponse> |
SyncPushCustomer.pushCustomer(@NotNull(message="\u5f85\u5904\u7406\u7684\u7528\u6237\u4fe1\u606f\u4e0d\u80fd\u4e3a\u7a7a") List<CustomerMessageDTO> messageList)
批量推送
|
List<WeChatResponse> |
SyncPushTemplate.pushTemplate(List<WeChatTemplateDTO> templateList)
批量推送
|
WeChatResponse |
SyncPushTemplate.pushTemplate(WeChatTemplateDTO template)
推送一个模版信息
|
| 限定符和类型 | 方法和说明 |
|---|---|
QrCodeResponse |
QrcodeManager.createIdQrcode(@NotNull(message="\u4e8c\u7ef4\u7801id\u4e0d\u80fd\u4e3a\u7a7a") Long id)
创建一个永久二维码,参数为自定义id
|
QrCodeResponse |
QrcodeManager.createStringQrcode(@NotBlank(message="\u81ea\u5b9a\u4e49\u7684eventKey\uff0c\u4e0d\u5e94\u8be5\u4e3a\u7a7a") String eventKey)
创建一个永久二维码,参数为自定义字符串
|
TempQrCodeResponse |
QrcodeManager.createTempIdQrcode(@NotNull(message="\u81ea\u5b9a\u4e49\u7684id\u4e0d\u80fd\u4e3a\u7a7a") Long id,
@NotNull(message="\u81ea\u5b9a\u4e49\u7684\u8fc7\u671f\u65f6\u95f4\u4e0d\u80fd\u4e3a\u7a7a") @Max(value=2592000L,message="\u6700\u5927\u6709\u6548\u503c\u4e0d\u80fd\u8d85\u8fc72592000\u79d2(30\u5929)\uff0c\u8d85\u8fc7\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3a2592000") @Min(value=60L,message="\u6700\u5c0f\u6709\u6548\u503c\u4e3a60\uff0c\u5c0f\u4e8e60\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3a60") Long expireSecond)
创建一个临时二维码,参数为自定义id
|
TempQrCodeResponse |
QrcodeManager.createTempStringQrcode(@NotBlank(message="\u81ea\u5b9a\u4e49\u7684eventKey\u4e0d\u80fd\u4e3a\u7a7a") String eventKey,
@NotNull(message="\u81ea\u5b9a\u4e49\u7684\u8fc7\u671f\u65f6\u95f4\u4e0d\u80fd\u4e3a\u7a7a") @Max(value=2592000L,message="\u6700\u5927\u6709\u6548\u503c\u4e0d\u80fd\u8d85\u8fc72592000\u79d2(30\u5929)\uff0c\u8d85\u8fc7\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3a2592000") @Min(value=60L,message="\u6700\u5c0f\u6709\u6548\u503c\u4e3a60\uff0c\u5c0f\u4e8e60\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3a60") Long expireSecond)
创建一个临时二维码,参数为自定义的字符串
|
| 限定符和类型 | 方法和说明 |
|---|---|
WeChatResponse |
TagManager.batchTagging(@NotEmpty(message="\u7528\u6237id\u5217\u8868\u4e0d\u80fd\u4e3a\u7a7a") @Size(max=50,message="\u6bcf\u6b21\u4f20\u5165\u7684 openid \u5217\u8868\u4e2a\u6570\u4e0d\u80fd\u8d85\u8fc750\u4e2a") List<String> openIdList,
@NotNull(message="\u6807\u7b7eid\u4e0d\u80fd\u4e3a\u7a7a") Integer tagId)
用户批量打标签
标签功能目前支持公众号为用户打上最多20个标签。
|
WeChatResponse |
TagManager.batchUnTagging(@NotEmpty(message="\u7528\u6237id\u5217\u8868\u4e0d\u80fd\u4e3a\u7a7a") @Size(max=50,message="\u6bcf\u6b21\u4f20\u5165\u7684 openid \u5217\u8868\u4e2a\u6570\u4e0d\u80fd\u8d85\u8fc750\u4e2a") List<String> openIdList,
@NotNull(message="\u6807\u7b7eid\u4e0d\u80fd\u4e3a\u7a7a") Integer tagId)
批量取消用户标签
标签功能目前支持公众号为用户打上最多20个标签。
|
TagResponse |
TagManager.createTag(@NotBlank(message="\u6807\u7b7e\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a") @Size(max=30,message="\u6700\u5927\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc730\u4e2a\u5b57\u7b26") String tagValue)
创建公众号标签
一个公众号,最多可以创建100个标签。
|
WeChatResponse |
TagManager.delete(@NotNull(message="\u6807\u7b7eid\u4e0d\u80fd\u4e3a\u7a7a") Integer id)
删除标签
|
TagUserResponse |
TagManager.getTagUser(@NotNull(message="\u6807\u7b7eid\u4e0d\u80fd\u4e3a\u7a7a") Integer tagId,
String nextOpenId)
获取标签下粉丝列表
|
List<Integer> |
TagManager.getUserTags(String openId)
获取用户身上的标签,最多标签数量 20
|
WeChatResponse |
TagManager.updateTag(@NotNull(message="\u6807\u7b7eid\u4e0d\u80fd\u4e3a\u7a7a") Integer id,
@NotBlank(message="\u6807\u7b7e\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a") @Size(max=30,message="\u6700\u5927\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc730\u4e2a\u5b57\u7b26") String tagValue)
更新标签
|
| 限定符和类型 | 方法和说明 |
|---|---|
List<SubscriptionResponse> |
UserManager.findUserInfo(@NotEmpty(message="\u5f85\u67e5\u8be2\u5f85openId\u5217\u8868\u4e0d\u5e94\u4e3a\u7a7a") List<String> openIdList,
@NotNull(message="\u8bed\u8a00\u679a\u4e3e\u4e0d\u5e94\u4e3a\u7a7a") LanguageEnum languageEnum)
批量根据用户的openId获取用户的基本信息
|
SubscriptionResponse |
UserManager.getUserInfo(@NotBlank(message="\u5f85\u67e5\u8be2\u5f85openId\u4e0d\u5e94\u4e3a\u7a7a") String openId,
@NotNull(message="\u8bed\u8a00\u9009\u62e9\u4e0d\u5e94\u4e3a\u7a7a") LanguageEnum languageEnum)
获取一个用户的基本信息
|
Copyright © 2022. All rights reserved.