美文网首页前端
微信小程序云开发个人博客项目实战(5)-- 云函数同步公众号文章

微信小程序云开发个人博客项目实战(5)-- 云函数同步公众号文章

作者: IT姑凉 | 来源:发表于2019-12-12 23:56 被阅读0次

    微信小程序云开发个人博客项目实战目录
    一、准备工作及引入 Vant Weapp 小程序 UI 组件库
    二、专题的增删改查
    三、文章的增删改查
    四、云函数获取微信公众号access_token
    五、云函数同步公众号文章到小程序

    注意:同步的文章为公众号素材,不是已群发的消息

    前提:确认公众号的接口权限

    一、云函数获取微信公众号access_token

    移步至文章:微信小程序云开发个人博客项目实战(4)-- 云函数获取微信公众号access_token

    二、遍历调用公众号永久素材列表接口获取数据

    官方文档

    接口请求说明
    http请求方式: POST,https协议
    https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN

    1、云开发控制台,新建集合posts,用于保存获取到的微信公众号的文章

    2、开发者工具 > 云函数目录 > 右键选择 “新建Node.js” 云函数 getPosts,修改 index.js 文件

    const cloud = require('wx-server-sdk')
    const request = require('request')
    cloud.init()
    
    async function getWechatPosts(accessToken, offset, count) {
      let url = `https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=${accessToken}`
      var options = {
        method: 'POST',
        json: true,
        uri: url,
        body: {
          "type": "news",
          "offset": offset,
          "count": count
        }
      }
      const rp = options =>
        new Promise((resolve, reject) => {
          request(options, (error, response, body) => {
            if (error) {
              reject(error);
            }
            resolve(response);
          });
        });
      const result = await rp(options)
      let rbody = (typeof result === 'object') ? result : JSON.parse(result);
      return rbody;
    }
    
    // 云函数入口函数
    exports.main = async (event, context) => {
      let token = null;
      await cloud.callFunction({
        name: 'getAccessToken'
      }).then(function (data) {
        token = data.result;
      });
    
      // let offset = event.offset;
      // let count = event.count;
      let res = getWechatPosts(token,0,10);
      return res;
    }
    

    3、创建并部署云函数
    4、页面调用,编译调试

    //可以在onLoad方法中 调试
    onLoad:function(options){
        wx.cloud.callFunction({
          // 云函数名称
          name: 'getPosts',
          success: function (res) {
            console.log("微信公众号文章列表:")
            console.log(res.result)
          },
          fail: console.error
        })
      }
    

    获得的数据:

    相关文章

      网友评论

        本文标题:微信小程序云开发个人博客项目实战(5)-- 云函数同步公众号文章

        本文链接:https://www.haomeiwen.com/subject/wbuxnctx.html