querylist采集微信公众号文章(微信小程序中如何打开公众号中的文章(图))
优采云 发布时间: 2022-03-25 21:12querylist采集微信公众号文章(微信小程序中如何打开公众号中的文章(图))
本文文章主要介绍微信小程序如何获取公众号文章文章的列表和展示。文中的介绍很详细,有一定的参考价值。有兴趣的朋友一定要阅读!
如何在微信小程序中打开公众号中的文章,步骤比较简单。
1、公共账号设置
如果小程序想要获取公众号的资料,公众号需要做一些设置。
1.1 绑定小程序
公众号需要绑定目标小程序,否则无法打开公众号的文章。
在公众号管理界面,点击小程序管理-->关联小程序
输入小程序的AppID进行搜索绑定。
1.2 公众号开发者功能配置
(1)在公众号管理界面,点击开发模块中的基本配置选项。
(2) 打开开发者密码(AppSecret),注意保存和更改密码。
(3)设置IP白名单。这个是发起请求的机器的外网IP。如果是在自己的电脑上,就是你电脑的外网IP。如果部署到服务器上,它是服务器的外部IP。
2、获取文章信息的步骤
以下仅用于演示。
在实际项目中,可以在自己的服务器程序中获取,而不是直接在小程序中获取。毕竟需要用到appid、appsecret等高度机密的参数。
2.1 获取 access_token
access_token是公众号全球唯一的API调用凭证。公众号调用各个API时需要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 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 token = (Map) JSON.parseObject(result1);
String result2 = getContentList(token.get("access_token").toString());
System.out.println(result2);
}
转换为json格式,参数说明见上述API文档
第二张图片中的url是公众号文章的地址,获得的tem物品数量就会有多少物品。只要得到以上结果,在小程序中打开公众号文章就有过半成功了。
最后可以在小程序中使用组件打开,src中文章的url地址。
以上就是微信小程序文章文章《如何获取公众号文章文章的列表和展示》的全部内容,感谢阅读!希望分享的内容对您有所帮助。更多相关知识,请关注易宿云行业资讯频道!