您好,登錄后才能下訂單哦!
這篇文章主要介紹微信小程序怎么獲取公眾號文章列表及顯示文章,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
微信小程序中如何打開公眾號中的文章,步驟相對來說不麻煩。
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地址。
以上是“微信小程序怎么獲取公眾號文章列表及顯示文章”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。