Java實(shí)戰(zhàn):基于Cloud Studio 通過Java實(shí)現(xiàn)和公眾號的快速集成案例
今天通過Java實(shí)現(xiàn)和微信公眾號的對接,來給大家介紹一下騰訊Cloud Studio 云端開發(fā)工具,感受其強(qiáng)大的云端編程模式帶來的效率提升。
一、Cloud Studio是什么
圖片
1.1 Cloud Studio介紹
Cloud Studio(云端 IDE)是一款基于瀏覽器的集成式開發(fā)環(huán)境,為程序員提供了一個(gè)安全穩(wěn)定快速的云端工作站。用戶在使用 Cloud Studio 時(shí)可以做到無需安裝任何軟件,只需要打開瀏覽器然后登錄自己的賬戶就可以隨時(shí)隨地的進(jìn)行代碼編寫。它還擁有高效的代碼協(xié)作,代碼編寫保存后,多人協(xié)作幾乎是實(shí)時(shí)更新。并且團(tuán)隊(duì)協(xié)作功能還集成了非常好用的即時(shí)通訊功能,比如留言板、語音/視頻聊天。這樣讓協(xié)作溝通變得更加高效、及時(shí)。
Cloud Studio的前身正是CODING自主研發(fā)的Coding WebIDE,所以在Cloud Studio的登錄界面仍然保留了舊版WebIDE的訪問入口提示,方便老用戶繼續(xù)訪問。
官網(wǎng):https://cloudstudio.net/
1.2 Cloud Studio功能特點(diǎn)
在線開發(fā)環(huán)境:Cloud Studio 可以直接在瀏覽器中運(yùn)行,無需安裝任何本地開發(fā)工具。這使得開發(fā)者可以隨時(shí)隨地訪問和開發(fā)他們的項(xiàng)目。當(dāng)然官方也提供的客戶端工具,對于喜愛客戶端開發(fā)的朋友來說還是非常友好的。
支持幾十種編程語言:Cloud Studio 支持幾十種編程語言,包括 JavaScript、Python、Java、Go、C++ 、vue、nodejs等模板。開發(fā)者可以在一個(gè) IDE 中快速開發(fā)不同編程語言的項(xiàng)目。
功能強(qiáng)大的代碼編輯器:Cloud Studio 的編輯器提供了語法高亮、代碼補(bǔ)全、自動縮進(jìn)、代碼折疊、多光標(biāo)編輯等常見的開發(fā)功能,極大的提高開發(fā)效率。
版本控制集成:Cloud Studio 集成了常見的版本控制系統(tǒng),如 Git,方便開發(fā)者管理和提交代碼。
云計(jì)算資源:Cloud Studio 集成了騰訊云的計(jì)算資源,包括虛擬機(jī)、容器服務(wù)、函數(shù)計(jì)算等,開發(fā)者可以直接在 IDE 中創(chuàng)建和管理這些資源。
代碼協(xié)作功能:開發(fā)者可以邀請其他人協(xié)作開發(fā)同一個(gè)項(xiàng)目,實(shí)時(shí)共享代碼編輯和調(diào)試,大大提高團(tuán)隊(duì)的協(xié)作效率。
安全保障:Cloud Studio 提供了安全的開發(fā)環(huán)境,保護(hù)開發(fā)者的代碼和數(shù)據(jù)安全。同時(shí),騰訊云還提供了豐富的安全控制和權(quán)限管理功能。
1.3 Cloud Studio的好處
降低開發(fā)人員安裝開發(fā)工具的成本
云端開發(fā),對于遠(yuǎn)程辦公非常友好,不受辦公地點(diǎn)的限制,隨時(shí)可以進(jìn)行開發(fā)
統(tǒng)一開發(fā)環(huán)境,不管是java、C#、vue、python等等,一套環(huán)境就可以開發(fā)相應(yīng)編程語言的項(xiàng)目。
團(tuán)隊(duì)協(xié)作能力很強(qiáng),支持多人協(xié)作,代碼更新后,其余團(tuán)隊(duì)開發(fā)者可以幾乎實(shí)時(shí)看到代碼效果
降低企業(yè)程序員電腦的成本,節(jié)省硬件資源
安全性高,Cloud Studio 提供了安全的開發(fā)環(huán)境,保護(hù)開發(fā)者的代碼和數(shù)據(jù)安全,提供了豐富的安全控制和權(quán)限管理功能。
二、實(shí)戰(zhàn)案例
下面就通過一個(gè)Java案例來給大家介紹一下如何使用Cloud Studio。
2.1 創(chuàng)建開發(fā)環(huán)境
首先進(jìn)入官網(wǎng),登錄自己的賬戶,具體如下圖:
圖片
這里選擇微信掃碼登錄,登錄之后的界面如下圖:
圖片
2.2選擇開發(fā)模板
這里可以看到官方內(nèi)置了幾十種主流的模板,因?yàn)槲覝?zhǔn)備基于Java語言開發(fā),這里點(diǎn)擊Java。
圖片
點(diǎn)擊后進(jìn)入項(xiàng)目創(chuàng)建階段,下圖是創(chuàng)建的過程。
圖片
創(chuàng)建過程還是比較快的,不到一分鐘就可以創(chuàng)建完成。創(chuàng)建完成后如下圖:
圖片
2.3 代碼編寫
開發(fā)環(huán)境創(chuàng)建完成后然后我們開始代碼的編寫。
2.3.1 引入依賴包
首先引入依賴,我們打開pom.xml,增加hutool工具類庫的依賴。
添加內(nèi)容如下:
<!-- 引入hutool工具類庫 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
然后開發(fā)環(huán)境會自動解析下載依賴包。等依賴包安裝完成后就可以正常使用不需要管他。
Hutool簡單介紹
Hutool 是一個(gè)Java工具庫,提供了許多常用的功能和工具類,用于簡化Java開發(fā)過程中的常見任務(wù)。它的目標(biāo)是提供簡潔、高效、易用的API,幫助開發(fā)者更加快速、便捷地編寫Java代碼。這里主要使用的是json、網(wǎng)絡(luò)請求類庫。
圖片
2.3.2 創(chuàng)建Models配置類
創(chuàng)建Models目錄存儲配置信息,然后新建ConstantUtil.java 存儲配置信息。
說明:這里為了快速演示效果,暫時(shí)不使用配置文件了來管理公眾號平臺的配置信息。
圖片
主要是公眾號的賬戶信息和調(diào)用API的URL,具體配置內(nèi)容如下:
package net.models;
/**
* 配置類
*/
public class ConstantUtil {
// 公眾號開發(fā)者APPID
public final static String app_id = "你的appId";
// 公眾號開發(fā)者密碼
public final static String app_secret = "你的appSecret";
// Token獲取
public final static String token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
// 獲取素材url
public final static String news_url="https://api.weixin.qq.com/cgi-bin/material/batchget_material";
}
2.3.3 創(chuàng)建測試類demo.java
首先創(chuàng)建test文件夾,然后在test文件夾創(chuàng)建Demo.java 測試類
說明:獲取微信Token方法,這個(gè)只需要調(diào)用官方的get方法獲取token信息,這個(gè)是公眾號開發(fā)調(diào)用其他接口的第一步。
/**
* 獲取微信Token 使用 HttpUtil 請求類庫獲取token
*
* @return
*/
private static String GetWechatToken() {
String tokenUrl = ConstantUtil.token_url + "&appid=" + ConstantUtil.app_id + "&secret="
+ ConstantUtil.app_secret;
String tokenResult = HttpUtil.get(tokenUrl);
System.out.println("返回的微信token信息");
System.out.println(tokenResult);
JSONObject tokenJson = JSONUtil.parseObj(tokenResult);
String token = tokenJson.get("access_token").toString();
return token;
}
注意:我們第一次訪問的時(shí)候一般獲取token是失敗的,因?yàn)槲⑿殴娖脚_接口調(diào)用安全的機(jī)制,需要登錄自己的微信公眾號平臺設(shè)置ip白名單。
配置方式:點(diǎn)擊查看,然后修改ip信息,最后使用管理員的微信掃碼確認(rèn)即可。
圖片
第一次調(diào)用報(bào)錯的信息如下
"{"errcode":40164,"errmsg":"invalid ip 101.34.119.114 ipv6 ::ffff:101.34.119.114, not in whitelist rid: 64cb0c69-57641460-58a91c42"}"
配置好ip白名單后可以正常獲取微信的Token。如下圖:
圖片
代碼內(nèi)容如下:
/**
* 獲取公眾號圖片素材列表
*/
private static String GetArticleNew(String token) {
// 定義body參數(shù)
HashMap<String, Object> paramMap = new HashMap<>();
String newsUrl = ConstantUtil.news_url + "?access_token=" + token;
paramMap.put("type", "image");
paramMap.put("offset", 100);
paramMap.put("count", 2);
String newResult = HttpUtil.post(newsUrl, JSONUtil.toJsonStr(paramMap));
System.out.println("-----------------獲取圖文素材信息如下:-------------------------");
System.out.println(newResult);
return newResult;
}
圖片
參數(shù)說明:
type:素材的類型,圖片(image)、視頻(video)、語音 (voice)、圖文(news)(必填參數(shù))
offset:從全部素材的該偏移位置開始返回,0表示從第一個(gè)素材 返回 (必填參數(shù))
coun:返回素材的數(shù)量,取值在1到20之間 (必填參數(shù))
返回格式如下:
{
"item":[
{
"media_id":"uk2hzL6i8MPTiBzig4LD64Kqv7UWho7VqENYuh2LLHSpqvP4_8L5Pf9MNTPhaaUi",
"name":"9.jpg",
"update_time":1645232103,
"url":"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_jpg\/HsDqsyKaPibH6vOqe6vcGIibZXwZiaZIxaicZiavib5xnzkDgTJ9YVUGX1NdgEPVnZ182Iic5p0txN05kqx6Np6bfVsyA\/0?wx_fmt=jpeg",
"tags":[
]
},
{
"media_id":"uk2hzL6i8MPTiBzig4LD66-YZlPjqi21gcgLlMzz0_55oKezz_5vLsmsI_OOev83",
"name":"8.jpg",
"update_time":1645232102,
"url":"https:\/\/mmbiz.qpic.cn\/sz_mmbiz_jpg\/HsDqsyKaPibH6vOqe6vcGIibZXwZiaZIxaicgcbRYZgSI7smmtAR3d0kEicty5hmHCBkE6p6eHteIGFibNxdoEhxyrTQ\/0?wx_fmt=jpeg",
"tags":[
]
}
],
"total_count":4559,
"item_count":2
}
三、使用總結(jié)
個(gè)人感覺Cloud Studio這款在線云開發(fā)環(huán)境還是非常棒的,通過這個(gè)Java對接公眾號的實(shí)際體驗(yàn)案例,整體功能使用非常流暢、隨時(shí)隨地進(jìn)行項(xiàng)目開發(fā)、豐富的項(xiàng)目模板等等,有了Cloud Studio這款工具大家不受辦公地點(diǎn)的影響、隨時(shí)隨地就可以開發(fā)自己的項(xiàng)目,還有很多優(yōu)點(diǎn)大家可以親自去自己體驗(yàn)一下。