小程序云开发之--微信公众号文章采集篇

小程序云开发之–微信公众号文章采集篇

​ 相信不少小伙伴都有想过做一个属于自己的小程序,又苦于没有服务器以及备案域名、网站ssl证书等,微信小程序作为前端后端就有很多了诸如Spring全家桶等小程序能接收到后端返回的值需要小程序内添加合法域名(域名备案https协议)

这里直接进入教学

公众号中有专门的接口(也有专门的文档) 那么如何采集小程序的文章来做到为我所用呢?

第一步: 获取access_token

通过文档可以看出 想要获取这个access_token需要以下三个参数

其中grant_type的值为client_credential用于获取access_token

appidsecret在公众号内可以找到

完成以上配置之后就可以采集文章了,

我们可以手动访问获取token或者postman

有了token之后采集文章就很方便了 下面开始操作

从官方文档中可以看到提供的接口还是挺多的

这里拿草稿箱做示范吧 其他的像图文、视频等素材的采集方法都是一样的

第一个token我们已经有了接下来就是offsetcount了 最后一个参数可以不要

获取文章数据

获取到素材之后 打印结果

说明我的草稿箱里有三条数据 确实只有三条

文章数据的处理

我们需要把自己需要的参数获取然后添加进数据库

注意⚠️这里有个问题就是如果这个文章已经采集过了那么我们就跳过,如果全部数据都存在那么打印 文章已经存在

最后就是把数据库没有的数据放入到数据库中

以下是测试结果

如果全部数据都存在

博客小程序:万神资源小栈
放入部分代码:

/**
 * 获取公众号文章信息
 * @param {*} accessToken
 */
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 result = await rp(options)
  let rbody = (typeof result === 'object') ? result : JSON.parse(result);
  return rbody;
}

/**
 * 同步文章的小程序码
 */
async function syncPostQrCode() {

  let configData = await getConfigInfo("syncPostQrCode");
  if (configData == null) {
    console.info("未获取相应的配置")
    return;
  }
  console.info(configData)
  let page = parseInt(configData.value.currentOffset);
  let maxCount = parseInt(configData.value.maxSyncCount);
  let isContinue = true;
  while (isContinue) {

    let posts = await db.collection('mini_posts')
      .orderBy('timestamp', 'asc')
      .skip(page * 10)
      .limit(10)
      .field({
        _id: true,
        qrCode: true,
        timestamp: true
      }).get()

    console.info(posts)

    if (posts.data.length == 0) {
      isContinue = false;
      break;
    }

    for (var index in posts.data) {
      if (posts.data[index].qrCode != null) {
        continue
      }

      let scene = 'timestamp=' + posts.data[index].timestamp;
      let result = await cloud.openapi.wxacode.getUnlimited({
        scene: scene,
        page: 'pages/detail/detail'
      })

      if (result.errCode === 0) {
        const upload = await cloud.uploadFile({
          cloudPath: posts.data[index]._id + '.png',
          fileContent: result.buffer,
        })

        await db.collection("mini_posts").doc(posts.data[index]._id).update({
          data: {
            qrCode: upload.fileID
          }
        });
      }
    }
    if ((page - parseInt(configData.value.currentOffset)) * 10 > maxCount) {
      isContinue = false;
    }
    else {
      page++
    }
  }

  let data = { currentOffset: page - 1, maxSyncCount: 100 }
  await db.collection("mini_config").doc(configData._id).update({
    data: {
      value: data
    }
  });

}

以上就是所有内容了 更多精彩内容请关注我~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STM32是一种微控制器,在物联网中起着至关重要的作用。MQTT是一种轻量级的消息协议,它允许对传感器和设备的数据进行发布和订阅。微信小程序是一种基于微信平台的应用程序,它可以通过微信公众号或微信小程序平台供用户使用。 STM32与MQTT的结合可以让我们更加灵活和高效地控制物联网设备。MQTT协议可以帮助我们实时监控设备的状态以及相关的数据变化,通过STM32平台的控制,我们可以通过对设备的调控实现更精准、更高效的控制。微信小程序可以通过微信公众号或微信小程序提供的平台,为用户提供便捷的操作体验和相关的功能。 通过STM32 MQTT微信小程序的结合,我们可以实现物联网设备的远程监控和控制,提高设备的工作效率和运行稳定性,同时可以为用户提供更便捷的控制操作和数据分析,为物联网设备的进一步发展打下坚实的基础。 ### 回答2: STM32是一种微控制器芯片,其支持MQTT协议,可以将STM32作为MQTT客户端连接到MQTT代理服务器上。MQTT是一种轻量级的消息传输协议,用于物联网设备间的数据交换。微信小程序是一种基于微信平台的应用程序,可以通过微信扫码进入使用。 将STM32和MQTT代理服务器相连接,可以实现STM32与其他设备间的通信。可以通过STM32发送传感器数据到MQTT代理服务器,其他设备可以通过MQTT订阅这些数据,实现数据交换。微信小程序可以订阅MQTT代理服务器上的数据,实时接收传感器数据,并将其展示到小程序上。 通过STM32和MQTT代理服务器以及微信小程序的结合,可以实现高效的物联网数据交互。例如,在农业生产中,可以将STM32与农业传感器相连接,收集土壤湿度、温度等数据,通过MQTT协议发送到代理服务器,再通过微信小程序实时监测农田状况。在工业生产中,可以将STM32与工业传感器相连接,实时监测设备状态,通过MQTT协议发送数据到代理服务器,再通过微信小程序进行实时监控和管理。这种结合可以提高生产和管理的效率,同时降低传统数据采集和监控方式的成本。 ### 回答3: STM32是一款基于ARM Cortex-M内核的微控制器,集成了丰富的外设和接口,具有低功耗、高性能、高可靠性等特点。MQTT是一种轻量级的通信协议,广泛用于物联网领域。微信小程序是一个基于微信平台的轻应用,可在微信内运行,可以实现很多有趣的功能。 STM32和MQTT可以结合起来,用于物联网设备的数据传输和控制。STM32作为物联网设备的控制芯片,通过MQTT协议和平台进行数据传输和远程控制。通过STM32和MQTT,可以实现物联网设备之间的互联和互通,为实现智能家居、智能医疗、智能城市等应用场景提供技术支持。 微信小程序也可以通过MQTT协议与平台进行通信,实现与物联网设备的互联和控制。在微信小程序开发中,可以通过腾讯提供的MQTT服务器和SDK,快速搭建起与STM32和其他物联网设备之间的通信连接,实现智能家居、智能健康、智能交通等应用场景。同时,微信小程序还可以通过强大的UI界面和社交网络功能,为用户提供更加智能化和便捷的使用体验,帮助实现更多的商业机会。 总之,STM32、MQTT和微信小程序的结合,有助于推动物联网技术的发展和应用,为我们带来更加便捷、舒适和智能的生活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万神.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值