【腾讯云 Cloud Studio 实战训练营】基于Cloud Studio 通过Java实现和公众号的快速对接

news2025/1/13 17:50:19

目录

一、Cloud Studio是什么

1.1 Cloud Studio介绍

1.2 Cloud Studio功能特点

1.3 Cloud Studio的好处

二、实战案例

2.1 创建开发环境

2.2选择开发模板

2.3 代码编写

2.3.1 引入依赖包

2.3.2 创建Models配置类

2.3.3 创建测试类demo.java

三、使用总结


今天通过Java实现和微信公众号的对接,来给大家介绍一下腾讯Cloud Studio 云端开发工具,感受其强大的云端编程模式带来的效率提升。

一、Cloud Studio是什么

 

1.1 Cloud Studio介绍

Cloud Studio(云端 IDE)是一款基于浏览器的集成式开发环境,为程序员提供了一个安全稳定快速的云端工作站。用户在使用 Cloud Studio 时可以做到无需安装任何软件,只需要打开浏览器然后登录自己的账户就可以随时随地的进行代码编写。它还拥有高效的代码协作,代码编写保存后,多人协作几乎是实时更新。并且团队协作功能还集成了非常好用的即时通讯功能,比如留言板、语音/视频聊天。这样让协作沟通变得更加高效、及时。

Cloud Studio的前身正是CODING自主研发的Coding WebIDE,所以在Cloud Studio的登录界面仍然保留了旧版WebIDE的访问入口提示,方便老用户继续访问。

官网介绍:Cloud Studio(云端 IDE)简介 | Cloud Studio

1.2 Cloud Studio功能特点

在线开发环境:Cloud Studio 可以直接在浏览器中运行,无需安装任何本地开发工具。这使得开发者可以随时随地访问和开发他们的项目。当然官方也提供的客户端工具,对于喜爱客户端开发的朋友来说还是非常友好的。

支持几十种编程语言:Cloud Studio 支持几十种编程语言,包括 JavaScript、Python、Java、Go、C++ 、vue、nodejs等模板。开发者可以在一个 IDE 中快速开发不同编程语言的项目。

功能强大的代码编辑器:Cloud Studio 的编辑器提供了语法高亮、代码补全、自动缩进、代码折叠、多光标编辑等常见的开发功能,极大的提高开发效率。

版本控制集成:Cloud Studio 集成了常见的版本控制系统,如 Git,方便开发者管理和提交代码。

云计算资源:Cloud Studio 集成了腾讯云的计算资源,包括虚拟机、容器服务、函数计算等,开发者可以直接在 IDE 中创建和管理这些资源。

代码协作功能:开发者可以邀请其他人协作开发同一个项目,实时共享代码编辑和调试,大大提高团队的协作效率。

安全保障:Cloud Studio 提供了安全的开发环境,保护开发者的代码和数据安全。同时,腾讯云还提供了丰富的安全控制和权限管理功能。

1.3 Cloud Studio的好处

降低开发人员安装开发工具的成本

云端开发,对于远程办公非常友好,不受办公地点的限制,随时可以进行开发

统一开发环境,不管是java、C#、vue、python等等,一套环境就可以开发相应编程语言的项目。

团队协作能力很强,支持多人协作,代码更新后,其余团队开发者可以几乎实时看到代码效果

降低企业程序员电脑的成本,节省硬件资源

安全性高,Cloud Studio 提供了安全的开发环境,保护开发者的代码和数据安全,提供了丰富的安全控制和权限管理功能。

二、实战案例

下面就通过一个Java案例来给大家介绍一下如何使用Cloud Studio。

2.1 创建开发环境

首先进入官网,登录自己的账户,具体如下图:

这里选择微信扫码登录,登录之后的界面如下图:

2.2选择开发模板

这里可以看到官方内置了几十种主流的模板,因为我准备基于Java语言开发,这里点击Java。

点击后进入项目创建阶段,下图是创建的过程。

创建过程还是比较快的,不到一分钟就可以创建完成。创建完成后如下图:

2.3 代码编写

开发环境创建完成后然后我们开始代码的编写。

2.3.1 引入依赖包

首先引入依赖,我们打开pom.xml,增加hutool工具类库的依赖。

添加内容如下:

<!-- 引入hutool工具类库 -->
     <dependency>
          <groupId>cn.hutool</groupId>
          <artifactId>hutool-all</artifactId>
          <version>5.8.16</version>
      </dependency>

然后开发环境会自动解析下载依赖包。等依赖包安装完成后就可以正常使用不需要管他。

Hutool简单介绍

Hutool 是一个Java工具库,提供了许多常用的功能和工具类,用于简化Java开发过程中的常见任务。它的目标是提供简洁、高效、易用的API,帮助开发者更加快速、便捷地编写Java代码。这里主要使用的是json、网络请求类库。

2.3.2 创建Models配置类

创建Models目录存储配置信息,然后新建ConstantUtil.java 存储配置信息。

说明:这里为了快速演示效果,暂时不使用配置文件了来管理公众号平台的配置信息。

主要是公众号的账户信息和调用API的URL,具体配置内容如下:

package net.models;

/**
 * 配置类
 */
public class ConstantUtil {
        // 公众号开发者APPID
    public final static String app_id = "你的appId";
    // 公众号开发者密码
    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 创建测试类demo.java

首先创建test文件夹,然后在test文件夹创建Demo.java 测试类

说明:获取微信Token方法,这个只需要调用官方的get方法获取token信息,这个是公众号开发调用其他接口的第一步。

   /**
     * 获取微信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;

    }

注意:我们第一次访问的时候一般获取token是失败的,因为微信公众平台接口调用安全的机制,需要登录自己的微信公众号平台设置ip白名单。

配置方式:点击查看,然后修改ip信息,最后使用管理员的微信扫码确认即可。

第一次调用报错的信息如下

"{"errcode":40164,"errmsg":"invalid ip 101.34.119.114 ipv6 ::ffff:101.34.119.114, not in whitelist rid: 64cb0c69-57641460-58a91c42"}"

配置好ip白名单后可以正常获取微信的Token。如下图:

获取公众号图片素材列表方法

代码内容如下:

    /**
     * 获取公众号图片素材列表
     */
    private static String GetArticleNew(String token) {
        // 定义body参数
        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;

    }

参数说明

type:素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)(必填参数)

offset:从全部素材的该偏移位置开始返回,0表示从第一个素材 返回 (必填参数)

coun:返回素材的数量,取值在1到20之间 (必填参数)

返回格式如下:

{
    "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
}

三、使用总结

个人感觉Cloud Studio这款在线云开发环境还是非常棒的,通过这个Java对接公众号的实际体验案例,整体功能使用非常流畅、随时随地进行项目开发、丰富的项目模板等等,有了Cloud Studio这款工具大家不受办公地点的影响、随时随地就可以开发自己的项目,还有很多优点大家可以亲自去自己体验一下。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/830331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数论—换元法

0x00 前言 换元法指将一个式子看做一个整体&#xff0c;进行整体运算&#xff0c;从而达到简化的目的。 0x01 例题&#xff1a; 1.求所有整数n&#xff0c;使得n1|n25 2.求所有整数n&#xff0c;使得n-2|n5n 同样使用n-2去换元即可。 3.求所有的整数n&#xff0c;使用n-1|…

c语言基础知识帮助理解(函数递归详解)

"从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚和一个小和尚。有一天老和尚对小和尚说:“从前有座山.山里有座庙&#xff0c;庙里有个老和尚和一个小和尚&#xff0c;有一天老和尚对小和尚说&#xff1a;“从前有座山.山里有座庙&#xff0c;庙里有个老和尚…

uniapp返回

// 监听返回事件onNavigationBarButtonTap() {uni.showModal({title: 提示,content: 确定要返回吗&#xff1f;,success: (res) > {if (res.confirm) {uni.navigateBack({delta: 2})}}})},

Palo Alto Networks® PA-220R 下一代防火墙 确保恶劣工况下的网络安全

一、主要安全功能 1、每时每刻在各端口对全部应用进行分类 • 将 App-ID 用于工业协议和应用&#xff0c;例如 Modbus、 DNP3、IEC 60870-5-104、Siemens S7、OSIsoft PI 等。 • 不论采用何种端口、SSL/SSH 加密或者其他规避技术&#xff0c;都会识别应用。 • 使用…

opencv-34 图像平滑处理-2D 卷积 cv2.filter2D()

2D卷积是一种图像处理和计算机视觉中常用的操作&#xff0c;用于在图像上应用滤波器或卷积核&#xff0c;从而对图像进行特征提取、平滑处理或边缘检测等操作。 在2D卷积中&#xff0c;图像和卷积核都是二维的矩阵或数组。卷积操作将卷积核在图像上滑动&#xff0c;对每个局部区…

智慧消防解决方案

智慧消防解决方案引入了物联网云平台、云计算中心等创新技术&#xff0c;实现对消防物联网数据的实时采集、传输和分析处理。通过智能感知设备与云平台的紧密结合&#xff0c;该解决方案利用先进的物联网技术、移动互联网和云计算等先进技术手段&#xff0c;实现火灾报警信号的…

健身用什么耳机好、健身大神都戴的运动耳机推荐

随着健身逐渐成为一种普遍的生活状态&#xff0c;越来越多的运动者选择将音乐作为他们锻炼时的精神伴侣。一款好的运动耳机&#xff0c;佩戴的舒适性再到音质、续航、防水。大家肯定问到哪有什么运动耳机好用的呢&#xff1f;今天就为大家推荐几款合适的运动耳机 1、NANK南卡R…

差分隐私 MP-SPDZ框架安装

ubuntu虚拟机安装MP-SPDZ框架 1.下载安装包到虚拟机内 https://github.com/data61/MP-SPDZ/releases 安装git 报错Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 4402(unattended-upgr) 解决方案 #杀死进程 sudo k…

重磅!三思LED显示闪耀第31届世界大运会五座赛事场馆

成都第31届世界大学生夏季运动会 2023中国成都。 世界大学生夏季运动会&#xff08;以下简称“大运会”&#xff09; 我们来了&#xff01; 三思LED不仅以颇具想象力的艺术手法 亮相这场高规格体育盛会 更以卓越品质为此盛大赛事保驾护航&#xff01; 揭秘|成都大运会会…

2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复

前言 &#xff08;1&#xff09;各位私信问问题之前&#xff0c;看看自己的问题是不是在这个里面再问&#xff01; &#xff08;2&#xff09; <1>2023年8月3日&#xff0c;10点25分。增加第三问的细节回答。 <2>2023年8月3日&#xff0c;10点45分。更新关于舵机安…

HTML中元素和标签有什么区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 标签&#xff08;Tag&#xff09;⭐元素&#xff08;Element&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…

使用爬虫代理IP速度慢是什么原因?

你们有没有遇到过使用爬虫代理IP速度慢的问题呢&#xff1f;相信很多使用爬虫抓取的人都曾经陷入过这个烦恼&#xff0c;今天我们就来聊聊这个话题。 首先&#xff0c;我们得明白为什么爬虫代理IP速度会变得慢。其实&#xff0c;原因有很多&#xff0c;比如代理服务器过多的连接…

高中生台灯什么牌子好?挑选不好可能会伤眼!

台灯是现在家庭都在使用的照明灯具&#xff0c;对于晚上工作学习、看书休闲都有很大的裨益&#xff0c;尤其是正在上学阶段的孩子&#xff0c;更是必备可少的学习“伴侣”。但是在挑选台灯的过程中也要注重护眼效果&#xff0c;在此基础上才是讨论性价比的问题&#xff0c;如果…

1本Frontiers期刊不再被收录,EI期刊目录已更新 (附8月最新刊源)!

近期爱思唯尔&#xff08;Elsevier&#xff09;官网更新了EI Compendex收录期刊目录&#xff0c;这是2023年第四次更新。 Elsevier发布2023年第四版EI期刊目录 更新时间&#xff1a;2023年7月1日 不同于SCI/SSCI目录每月更新一次的频率&#xff0c;EI目录更新没有规律可言&am…

结合ChatGPT和MINDSHOW自动生成PPT

结合chatGPT和MINDSHOW自动生成PPT应用场景 总结/朱季谦 一、首先&#xff0c;通过chatGPT说明你的需求&#xff0c;学会提问是Ai时代最关键的一步。你需要提供一些关键信息&#xff0c;如果没有关键信息&#xff0c;就按照大纲方式让它设计&#xff0c;例如&#xff0c;我让…

Day17 C++ 继承

C 继承 继承继承的基本语法继承的语法示例 继承方式公有继承&#xff08;public inheritance&#xff09;保护继承&#xff08;protected inheritance&#xff09;私有继承&#xff08;private inheritance&#xff09;总结 继承中的对象模型继承中构造和析构顺序构造顺序析构顺…

【WiFi】Hostapd工作流程分析

目录 1.Hostapd概述 2.Hostapd代码框架 3.Hostapd各种命令配置工具 4.hostaod的主函数 5.hostaod代码分析 1.Hostapd概述 Hostapd是一个运行在用户态的守护进程,可以通过Hostapd来读取配置文件,通过nl802.11来控制底层的状态如RTS/CTS beacon帧间隔等等信息;也可以读取相…

录音怎么转换成文字?这几种简单转换方法学起来

将录音转换成文字可以方便查找和引用重要信息&#xff0c;可以使用搜索功能快速找到关键词和短语&#xff0c;而无需听整个录音。其次&#xff0c;将录音转换成文字可以提高准确性和完整性&#xff0c;因为可以在记录文本中添加遗漏的细节和备注。此外&#xff0c;将录音转换成…

【cluster_block_exception】写操作elasticsearch索引报错

【cluster_block_exception】操作elasticsearch索引b报错 背景导致原因&#xff1a;解决方法&#xff1a; 背景 今天线上elk的数据太多&#xff0c;服务器的空间不足了。所以打算删除一些没用用的数据。我是用下面的request&#xff1a; POST /{index_name}/_delete_by_query…

Java基础面试题3

Java基础面试题 1&#xff1a;https://cloud.fynote.com/share/d/qPGzAVr5 2&#xff1a;https://cloud.fynote.com/share/d/MPG9AVsAG 3&#xff1a;https://cloud.fynote.com/share/d/qPGHKVsM 一、JavaWeb专题 1.HTTP响应码有哪些 1、1xx&#xff08;临时响应&#xf…