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


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 相关文章推荐
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
为原生js Array增加each方法
Apr 07 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
JavaScript获取Url里的参数
Dec 18 Javascript
JavaScript中对象介绍
Dec 31 Javascript
jQuery中addClass()方法用法实例
Jan 05 Javascript
Jquery简单实现GridView行高亮的方法
Jun 15 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
解决vue v-for src 图片路径问题 404
Nov 12 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中的boolean(布尔)类型详解
2013/10/28 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
jquery高效反选具体实现
2013/05/05 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
python实现文件路径和url相互转换的方法
2015/07/06 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Python异常的检测和处理方法
2018/10/26 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
python处理excel绘制雷达图
2019/10/18 Python
Python如何读写二进制数组数据
2020/08/01 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
医学院学生求职简历的自我评价
2013/10/24 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
力克胡哲观后感
2015/06/10 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
python如何正确使用yield
2021/05/21 Python