微信开发1:自定义按钮

这段时间正好做了个有关微信开发的项目,磕磕碰碰,终于完成了,下面将以博文的形式,对其中涉及到的技术进行总结

目录说明

1:自定义按钮:涉及微信基础接口使用

2:oauth2网页授权

3:网站应用微信登录

4:微信支付接口

自定义按钮

1:获取accessToken

获取access_token是微信大部分接口调用的基础,官方文档中给出的定义是:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。但,其实对于开发者而言,重点在于怎么获取,下面用java代码介绍调用方式

<span style="font-size:18px;">public static Token getToken(String appid, String appsecret) {
		Token token = null;
		String requestUrl = token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
		// 发起GET请求获取凭证
		JSONObject jsonObject = <span style="color:#FF6666;">httpsReques</span>t(requestUrl, "GET", null);

		if (null != jsonObject) {
			try {
				token = new Token();
				token.setAccessToken(jsonObject.getString("access_token"));
				token.setExpiresIn(jsonObject.getInt("expires_in"));
			} catch (JSONException e) {
				token = null;
				// 获取token失败
				log.error("获取token失败 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));
			}
		}
		return token;
	}</span>

参数说明:其中appid和appseret分别对应着你公众号里的appid,appseret,

代码说明:Token是我创建用于封装成功获取accessToken时返回的数据,其中属性对应的属性请查看微信官方文档

值得一说的是httpsRequest,这个方法的主要功能是向微信发送一个https请求,并把返回XML格式的数据通过xstream解析成JSONObject形式返回,具体代码就不贴出,如有需要可以直接联系我(微信:hdhexuhong),(微笑广交天下好友)

2:创建按钮实体

创建按钮实体是自定义按钮最最简单的部分,基本上一个按钮,对应着一个java实体,但,值得注意的是

(1):想创建下拉实体的话需要用数组封装

(2):最常用的type(按钮类型)是点击推事件(click),view(跳转url),但部分实体需要认证过的微信号才能调用,如果你的微信号未经过认证,将会报错

(3):你创建的实体对象,最终传送的数据格式为JSON,所以传送前,需要把对应的java对象转换成JSON格式(转换方式可以自行百度,提供很多第三方转换类库)

3:请求创建自定义按钮

但创建完按钮实体后,就可以请求微信服务器为你的公众号创建一个自定义按钮,

<span style="font-size:18px;">public static boolean createMenu(Menu menu, String accessToken) {
		boolean result = false;
		String url = menu_create_url.replace("ACCESS_TOKEN", accessToken);
		// 将菜单对象转换成json字符串
		String jsonMenu = JSONObject.fromObject(menu).toString();
		// 发起POST请求创建菜单
		JSONObject jsonObject = CommonUtil.httpsRequest(url, "POST", jsonMenu);

		if (null != jsonObject) {
			int errorCode = jsonObject.getInt("errcode");
			
			String errorMsg = jsonObject.getString("errmsg");
			System.out.println(errorCode+"++++"+errorMsg);
			if (0 == errorCode) {
				result = true;
			} else {
				result = false;
				log.error("创建菜单失败 errcode:{} errmsg:{}", errorCode, errorMsg);
			}
		}

		return result;
	}
</span>

请求参数说明:Menu是我创建的一个按钮总实体,用于封装全部按钮对象,accessToke为上一步获取到的微信接口调用凭证,

好了,上面基本就是自定义按钮的创建过程,其中的知识是建立在有一定的微信开始知识的基础,如有入门级别的开发者有疑问的话,可以直接联系我(微信:hdhexuhong)

后续将会不间断的推出1:Oauth2网页授权开,2:网站应用微信登录 3:公众号微信支付 4:网站微信扫码支付等高级接口的开发介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值