微信公众号开发——java后台开发(一)

微信公众号开发——java后台开发(一)

最近项目有一些微信公众号方面的需求,所以就去研究了一下公众号后台的开发,在这期间也请教了一些之前做过公众号开发的同事,也与一起进行开发的同事互相讨论,使得我们的开发工作有条不紊的进行下去,在此也将开发的过程和一些心得输出出来,方便后面的同事以及微信开发爱好者借鉴,如果有问题也请大家指正。

微信公众号申请

我们要进行微信公众号的开发,首先要申请一个微信公众号
大家可以百度搜索“微信公众号”,或者登陆网站https://mp.weixin.qq.com/,进行微信公众号的注册,如下图所示
由于本人已注册,所以直接登陆
注:个人用户数只能注册订阅号,由于本人已经注册,所以直接登录
选择订阅号,填写相关信息,注册成功后登陆。

网络映射工具选择

要进行微信公众号的开发,首先要准备一个网络映射的工具,或者可以有直接部署的服务器,进行域名的映射。
我这里选择了norgk进行映射,大家可以在网上搜索,类似于ngrok、花生壳等工具。
首先在百度上搜索ngrok选择合适的安装包进行安装,这里就不过多描述,大家可自行百度。
安装完成,打开启动后,如下图所示
在这里插入图片描述
Forwarding对应的http://和https://为本地端口映射的域名,在后面基本配置中会使用到。

基本配置

在进行微信公众号开发之前,我们在微信开发者文档中可以看到“接入指南”
接入微信公众平台开发,开发者需要按照如下步骤完成:

  1. 填写服务器配置
    进入微信公
### 微信公众号 JSSDK 开发教程 #### 获取 Access Token 为了使用微信JSSDK,在服务器端需要先获取`access_token`。这是调用微信接口的全局唯票据,有效时间为7200秒。开发者需自行负责在服务端维护此令牌并实现缓存机制以提高效率[^3]。 ```java // Java示例代码用于获取 access_token String accessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; URL url = new URL(accessTokenUrl); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null){ response.append(line); } reader.close(); JSONObject jsonResponse = new JSONObject(response.toString()); String accessToken = jsonResponse.getString("access_token"); ``` #### 配置 JS SDK 接口签名 前端页面加载前,通过后台向微信公众平台发起请求获得配置所需的参数列表,包括但不限于`noncestr`, `timestamp`, 和 `signature`等字段。这些数据用来验证当前网页访问合法性以及防止跨站伪造攻击[^1]。 ```javascript wx.config({ debug: false, // 开启调试模式, 调用的所有 api 的返回值会在客户端 alert 出来,建议仅在测试环境开启 appId: 'your-app-id', // 必填,公众号的唯标识 timestamp: res.timestamp, // 必填,生成签名的时间戳 nonceStr: res.nonceStr, // 必填,生成签名的随机串 signature: res.signature,// 必填,签名 jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表 }); ``` #### 使用 JSSDK 功能 旦完成上述准备工作之后就可以正常使用各种功能API了。比如这里展示了个简单的例子——利用`getLocation()`方法取得用户的地理位置信息: ```html <button id="get-location">Get Location</button> <script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script type="text/javascript"> document.getElementById('get-location').onclick = function(){ wx.getLocation({ success:function(res){ console.log(`Latitude:${res.latitude}, Longitude:${res.longitude}`); }, cancel:function(){ console.error('User refused to provide location.'); } }); }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值