您的位置:首页 > 移动开发 > 微信开发

微信开发1:自定义按钮

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

目录说明

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:网站微信扫码支付等高级接口的开发介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息