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

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=APPSECRETString 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的fastjsonOutputStream 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();}

测试:

 @Testpublic 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地址。

微信小程序获取公众号文章列表及显示文章相关推荐

  1. 微信小程序获取公众号code以及openId

    微信小程序判断用户是否关注公众号-简要流程 版权 原文链接:树先生https://blog.csdn.net/weixin_39601000/article/details/105288342 没有需 ...

  2. 企业微信获取用户信息响应40029(微信小程序与公众号出现类似问题应该是同样的原因)

    企业微信获取用户信息响应40029 在对接企业微信的时候需要通过code去获取userId,但是会返回40029的error码,经过测试与验证原因是访问地址 https://open.weixin.q ...

  3. 服务器和微信公众号的区别,微信小程序和公众号的区别,看这三点就懂了

    原标题:微信小程序和公众号的区别,看这三点就懂了 第一点就是定位不同,小程序主要用来面向产品和服务,而公众号则是用于销售和传递信息.小程序在功能上和公众号有本质的区别(不支持关注,没有粉丝体系.消息推 ...

  4. 微信小程序与公众号区别PHP,微信小程序和微信公众号的区别是什么?

    微信小程序和微信公众号的区别是什么? 2019-08-17 09:10 微信公众号和小程序都是基于微信平台来使用的,而微信自带的十几亿流量也是导流到小程序和公众号上的.越来越多的商家都在运营微信小程序 ...

  5. 微信小程序web-view公众号与小程序支付的切换使用

    微信小程序web-view公众号与小程序支付间的切换使用 最近小程序开放了新功能,支持内嵌网页.html写的网页,官网,网站,运行在浏览器上的,有域名的那种,可以内嵌到小程序里了! 那么这意味着什么呢 ...

  6. 通过小程序获取公众号openid

    需求: 由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息. 于是需要将小程序的openid和公众号的openid绑定在一起.提供两种思路: 方法一: 1.微信小程序和公众号都绑 ...

  7. 另劈捷径实现微信小程序与公众号的OpenID建立关联

    实现多个小程序和公众号的用户关联 1.微信公众平台官方文档 2.准备工作 3.应用场景说明 4.实现步骤 a.获取微信小程序openId (用户唯一标识) b.借助web-view获取到用户公众号的O ...

  8. 开源免费微信小程序、公众号打通商城

    开源免费微信小程序.公众号打通商城 源码地址 : http://github.crmeb.net/u/blue 新的UI 功能简介 源码地址 : http://github.crmeb.net/u/b ...

  9. uni-app 微信小程序支付/公众号支付/h5支付宝/h5微信/支付宝app支付/微信app支付

    思路: 先判断是app/h5/微信小程序 如果是h5,判断是微信内打开还是微信外 app.vue onLaunch: function() {uni.setStorageSync('h5Type', ...

  10. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    项目介绍 一款轻量级.高性能.前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城. 完整代 ...

最新文章

  1. 刚发布!2020年AI人才发展报告,这三个暗示程序员一定要知道!
  2. postmessage and sendmessage
  3. jmeter操作数据库
  4. Socket 同步/异步 与阻塞/非阻塞区别
  5. Product Helper
  6. UVa 1629 切蛋糕(记忆化搜索)
  7. 字符串string类使用总结
  8. MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期
  9. RabbitMQ修改默认端口:4369、5672、15672、25672
  10. 计算机所占比例的函数,(excel求百分比函数公式)excel所占比例怎么算
  11. keil5 file not found 错误解决办法
  12. 三国志战略版360区S4服务器合并信息,三国志战略版S3合区表 新赛季哪些服务器合区...
  13. 某侠图床源码 图片外链服务 带API
  14. 2022年度软考考试时间表已公布
  15. 由海天瑞声支持,全球最大多领域英语开源数据集发布
  16. php利用堆栈 实现高级计算器
  17. linux qt fscanf,fscanf QT小部件C++
  18. QT QString转16进制
  19. 数据流程图中的几种循环画法
  20. 单片机 串口采用中断服务收发数据

热门文章

  1. 数字电子技术基础(第六版)阎石 版 课后答案 课后题答案与解析 课后习题答案
  2. 第五章、SQL 语言学习(基础篇)
  3. 2022最新短视频去水印解析API接口支持各大小程序平台分享
  4. Verilog 语言2选1数据选择器
  5. 小学计算机集体备课,信息技术集体备课总结
  6. android 多媒体相册,朵朵多媒体相册免费版
  7. 在eclipse中运行 carrot2 workbench
  8. Officescan防毒墙安装部署手册
  9. 诺顿引起的系统频繁重启的解决方法重新
  10. 数字通信原理笔记(一)---概述