微信小程序获取公众号文章列表及显示文章的示例代码


Posted in Javascript onMarch 10, 2020

微信小程序中如何打开公众号中的文章,步骤相对来说不麻烦。

1、公众号设置

小程序若要获取公众号的素材,公众号需要做一些设置。

1.1 绑定小程序

公众号需要绑定目标小程序,否则无法打开公众号的文章。
在公众号管理界面,点击小程序管理 --> 关联小程序

微信小程序获取公众号文章列表及显示文章的示例代码

输入小程序的AppID搜索,绑定即可。

微信小程序获取公众号文章列表及显示文章的示例代码

1.2 公众号开发者功能配置

(1) 在公众号管理界面,点击开发模块中的基本配置选项。

微信小程序获取公众号文章列表及显示文章的示例代码

(2) 开启开发者秘密(AppSecret),注意保存改秘密。
(3) 设置ip白名单,这个就是发起请求的机器的外网ip,假如是在自己电脑那就是自己电脑的外网ip,若部署到服务器那就是服务器的外网ip。

微信小程序获取公众号文章列表及显示文章的示例代码

2、获取文章信息的步骤

以下只是作为演示。

实际项目中在自己的服务端程序中获取,不要在小程序中直接获取,毕竟要使用到appid、appsecret这些保密性高的参数。

2.1 获取access_token

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。API文档

private String getToken() throws MalformedURLException, IOException, ProtocolException {
		// access_token接口https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
		String path = " https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
		String appid = "公众号的开发者ID(AppID)";
		String secret = "公众号的开发者密码(AppSecret)";
		URL url = new URL(path+"&appid=" + appid + "&secret=" + secret);
		HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
		connection.setRequestMethod("GET");
		connection.connect();
		
		InputStream in = connection.getInputStream();
		byte[] b = new byte[100];
		int len = -1;
		StringBuffer sb = new StringBuffer();
		while((len = in.read(b)) != -1) {
			sb.append(new String(b,0,len));
		}
		
		System.out.println(sb.toString());
		in.close();
		return sb.toString();
	}

2.2 获取文章列表

API文档

private String getContentList(String token) throws IOException {
		String path = " https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + token;
		URL url = new URL(path);
		HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
		connection.setRequestMethod("POST");
		connection.setDoOutput(true);
		connection.setRequestProperty("content-type", "application/json;charset=utf-8");
		connection.connect();
		// post发送的参数
		Map<String, Object> map = new HashMap<>();
		map.put("type", "news"); // news表示图文类型的素材,具体看API文档
		map.put("offset", 0);
		map.put("count", 1);
		// 将map转换成json字符串
		String paramBody = JSON.toJSONString(map); // 这里用了Alibaba的fastjson
		
		OutputStream out = connection.getOutputStream();
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
		bw.write(paramBody); // 向流中写入参数字符串
		bw.flush();
		
		InputStream in = connection.getInputStream();
		byte[] b = new byte[100];
		int len = -1;
		StringBuffer sb = new StringBuffer();
		while((len = in.read(b)) != -1) {
			sb.append(new String(b,0,len));
		}
		
		in.close();
		return sb.toString();
	}

测试:

@Test
	public void test() throws IOException {
		
		String result1 = getToken();
		Map<String,Object> token = (Map<String, Object>) JSON.parseObject(result1);
		String result2 = getContentList(token.get("access_token").toString());
		System.out.println(result2);
	}

微信小程序获取公众号文章列表及显示文章的示例代码

转换成json格式,参数说明查看上面的API文档

微信小程序获取公众号文章列表及显示文章的示例代码

微信小程序获取公众号文章列表及显示文章的示例代码

其中第二张图片中的url即为公众号文章的地址,获取到多少片tem项中就会有多少项,只要得到上面的结果那么在小程序中打开公众号文章已经成功一大半了。

最后在小程序中利用<web-view src="...."></web-view>组件打开即可,src中为文章的url地址。

微信小程序获取公众号文章列表及显示文章的示例代码

到此这篇关于微信小程序获取公众号文章列表及显示文章的示例代码的文章就介绍到这了,更多相关小程序获取公众号文章列表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
原生JS可拖动弹窗效果实例代码
Nov 09 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
jQuery实现定时读取分析xml文件的方法
Jul 16 Javascript
使用vue-resource进行数据交互的实例
Sep 02 Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 Javascript
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
解决eclipse中没有js代码提示的问题
Oct 10 Javascript
解决layer 动态加载select 失效的问题
Sep 18 Javascript
微信小程序 textarea 层级过高问题简单解决方案
Oct 14 Javascript
微信小程序后端(java)开发流程的详细步骤
Nov 13 Javascript
jquery实现烟花效果(面向对象)
Mar 10 #jQuery
非常漂亮的js烟花效果
Mar 10 #Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 #Javascript
微信小程序实现搜索功能
Mar 10 #Javascript
原生JS实现烟花效果
Mar 10 #Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 #Javascript
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 #Javascript
You might like
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
Python中的ctime()方法使用教程
2015/05/22 Python
python判断自身是否正在运行的方法
2019/08/08 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
高考寄语大全
2014/04/08 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
社区戒毒工作方案
2014/06/04 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
Python使用MapReduce进行简单的销售统计
2022/04/22 Python