在做小程序中,有时候需要前端调用后端的接口,后端调用微信的API。以达到微信认证,授权,获取用户的信息等。
现在对java后端微信小程序接口做一下总结。加深记忆,大家一起参考学习。
一、微信接口:https://api.weixin.qq.com/
1、获取微信的access_token接口
/**
* 获取微信token
* @param appid
* @param secret
* @return
*/
@GetMapping("cgi-bin/token")
Map<String, Object> gettoken(@RequestParam("appid") String appid, @RequestParam("secret") String secret, @RequestParam("grant_type") String grant_type);
2、授权登录接口
/**
* 小程序登录
*
* @param appid
* @param secret
* @param grant_type
* @param jsCode
* @return map {"session_key": "", "openid": ""}
*/
@GetMapping("sns/jscode2session")
Map<String, Object> jscode2session(@RequestParam("appid") String appid, @RequestParam("secret") String secret, @RequestParam("grant_type") String grant_type, @RequestParam("js_code") String jsCode);
3、获取微信用户信息接口
/**
* 根据access_token和code获取微信登录信息
* @param access_token
* @param code
* @return
*/
@GetMapping("cgi-bin/user/getUserInfo")
Map<String, Object> getuserinfo(@RequestParam("access_token") String access_token, @RequestParam("code") String code);
4、获取微信绑定手机号接口
/**
* 获取微信用户手机号
*
* @param bodyMap
* @param accessToken
* @return
*/
@PostMapping("wxa/business/getuserphonenumber")
Map<String, Object> getPhone(@RequestParam("access_token") String accessToken, @RequestBody Map<String, Object> bodyMap);
5、生成特定路径微信二维码,用户通过微信扫描跳转
/**
* 创建特定路径的微信小程序二维码
*
* @param bodyMap {"path":"", "with": 430}
* @param accessToken
* @return 返回的图片 Buffer
*/
@PostMapping("cgi-bin/wxaapp/createwxaqrcode")
Response createwxaqrcode(@RequestParam("access_token") String accessToken, @RequestBody Map<String, Object> bodyMap);
6、生成短链接接口,用户可以点击链接进行跳转。
/**
* 通过短信链接跳转
* 获取generate_urllink
* @param accessToken
* @param bodyMap
* @return
*/
@PostMapping("wxa/generate_urllink")
Map<String, Object> generateUrllink(@RequestParam("access_token") String accessToken, @RequestBody Map<String, Object> bodyMap);
二企业微信接口:https://qyapi.weixin.qq.com/cgi-bin
1、获取企业微信access_token接口
/**
* 获取微信token
* @param corpid
* @param corpsecret
* @return
*/
@GetMapping("gettoken")
Map<String, Object> gettoken(@RequestParam("corpid")String corpid, @RequestParam("corpsecret")String corpsecret);
2、授权登录接口
/**
* 授权登录接口
* @param access_token
* @param code
* @param grant_type
* @return
*/
@GetMapping("/miniprogram/jscode2session")
Map<String, Object> getJscode2session(@RequestParam("access_token") String access_token,
@RequestParam("js_code") String code , @RequestParam("grant_type") String grant_type);
3、获取企业微信用户信息接口
/**
* 根据access_token和code获取企业微信登录信息
* @param access_token
* @param code
* @return
*/
@GetMapping("user/getuserinfo")
Map<String, Object> getuserinfo(@RequestParam("access_token") String access_token, @RequestParam("code") String code);
Java 语言可用于实现微信接口的编程。以下是 Java 微信接口的主要组成部分的概述:
-
接入认证:
- 开发者需要在微信开放平台注册并创建应用,获得
AppID
和AppSecret
。 - 使用
GET
请求https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
获取 access_token。
- 开发者需要在微信开放平台注册并创建应用,获得
-
发送消息:
- 支持发送文本、图片、语音、视频、图文消息。
- 使用 access_token 调用相应的发送消息 API。
-
自定义菜单:
- 支持创建、查询、删除自定义菜单。
- 使用 access_token 调用相应的菜单管理 API。
-
用户管理:
- 包括获取用户基本信息、获取关注者列表、设置用户备注名等。
- 使用 access_token 调用相应的用户管理 API。
-
素材管理:
- 支持上传、下载临时素材或永久素材。
- 使用 access_token 调用相应的素材管理 API。
-
客服功能:
- 包括发送消息、获取客服聊天记录等。
- 使用 access_token 调用相应的客服管理 API。
-
模板消息:
- 可以向用户发送预定义的消息模板。
- 需要先在微信后台配置模板,然后使用 access_token 和模板ID发送消息。
-
微信支付:
- 支持统一下单、查询订单、关闭订单、申请退款等功能。
- 需要与微信支付系统交互,涉及多个步骤和 API 调用。
-
多客服功能:
- 支持客服在线状态查询、转接客服、获取客服聊天记录等。
- 使用 access_token 调用相应的多客服管理 API。
-
OAuth2.0 授权:
- 支持引导用户进行授权,获取 openid 和 access_token,进而获取用户信息。
- 需要引导用户访问指定的 URL,并在回调页面处理用户授权的结果。
- 地理位置信息:
- 可以获取用户发送的地理位置信息,并进行处理。
- 需要处理用户的地理位置请求,并调用相应的地理位置 API 进行处理。
- 微信卡券:
- 支持创建、投放、查询卡券等操作。
- 需要使用 access_token 和卡券相关的 API 进行交互。
- 微信小店:
- 支持商品管理、订单管理、库存管理等功能。
- 需要使用 access_token 和微信小店相关的 API 进行交互。
- 微信连Wi-Fi:
- 支持配置Wi-Fi设备信息、查询设备状态等操作。
- 需要使用 access_token 和微信连Wi-Fi相关的 API 进行交互。
- 微信扫一扫:
- 支持调用微信扫一扫功能,进行扫码处理。
- 需要使用特定的 URL 或 API 进行处理。