我自己的小程序调用自己的公众号的文章,请问可以实现吗?
发布于 5 年前 作者 wei87 3621 次浏览 来自 问答

我自己的小程序(在开发中),自己的公众号(运营一年)。我想我自己的小程序调用我自己公众号中的文章,怎么实现。我做了个自己拷贝网址的是可以的,我想自动调取。请大师们指点指点。

2 回复

可以使用web-view实现,若是个人类型的暂不支持

谢谢!请看一下,这个大师说的可以的。

  1. 技术要求

微信开发经验+小程序开发经验+会一点node

  1. 思路

在6月份的一次更新,webview组件增加新的能力,webview 指向网页的链接。可打开关联的公众号的文章,其它网页需登录小程序管理后台配置业务域名。所以我们可以利用微信提供的"https://api.weixin.qq.com/cgi-bin/material/batchget_material“接口获取所有的素材列表,我们可以将这些文章存入数据库,方便使用,在将web-view 中的src替换为获取到的素材文章的永久链接,即可

  1. 源码demo
  1. 获取微信中的素材列表

//使用了request这个库用于服务端请求

        const token_url=“https://api.weixin.qq.com/cgi-bin/token”;

        const url = “https://api.weixin.qq.com/cgi-bin/material/batchget_material”;

        const appid=“自己的appid”;

        const appsecret=“自己的APPsecret”;

        const type=“news”;

        const offset=“0”;

        const count=“20”;

        //获取token

        let token_info=await new Promise(function(resolve,reject){

            request.get(`${token_url}?grant_type=client_credential&appid=${appid}&secret=${appsecret}`,function(error, response, body){

                if (!error && response.statusCode == 200) {

                    resolve(body);

                }

                reject(error);

            });

        })

        token_info=JSON.parse(token_info);

        const access_token=token_info.access_token;

        let data = {

            “type”: type,

            “offset”:offset,

            “count”: count

        };

       // 获取素材列表

        const res=await new Promise(function (resolve, reject) {

            request.post({url:`${url}?access_token=${access_token}`, form:JSON.stringify(data)}, function (error, response, body) {

                console.log(“body–>”,body);

                if (!error && response.statusCode == 200) {

                    resolve(body);

                }

                reject(error);

            })

        });

        console.log(“res–>”,res);

  1. 小程序端

//src 中填入获取到的永久链接

http://mp.weixin.qq.com/s?__biz=MzI3MjM1MTUzNA==&mid=100000180&idx=1&sn=069844e709fdbe0aaa4129c97977b335&chksm=6b32a9f55c4520e3c7d9ec18b6e79a02689ea23ae01006ff7dc47677588b8b22a8c1e531661b#rd">

回到顶部