微信小程序如何获取公众号的文章内容

突然想到之前小程序开发的时候遇到的问题,记录一下。

在微信小程序中当时有一个调用公众号实时文章的功能:
大家都知道如果要调取公众号文章中的内容除了要获取公众号的appID和SECRET之外 还有比较麻烦的一点是IP地址的设置,因为小程序云开发去直接调用公众号的内容,IP是随机变化的,调取公众号的后台接口的时候会被阻拦,我看有的朋友建议是在公众号后台直接把所有可能出现过的IP地址统一加到公众号的IP白名单中,这种方法可能有用,但是出现IP的变化太多了,反正我自己试了好几次,没有成功过。

我们可以利用**腾讯云的云函数**功能。在这里边建立一个函数。主要的一步来了,然后是设置固定出口IP如图函数管理-》函数配置-》编辑-》固定出口IP
在这里插入图片描述
在这里插入图片描述

设置完成之后可以在网络配置中看到生成的IP,此时你将这个IP加到公众号后台的白名单即可
在这里插入图片描述

在这里插入图片描述
关于如何访问腾讯云上的云函数,如下所示:
函数服务-》触发管理-》访问路径,将这个路径复制下来即可。如图:
在这里插入图片描述
以下是小程序云开发中调用腾讯云函数:

async getWechatAccessToken() {
    let token_url = '腾讯云访问路径?APPID=' +this.appid+ '&'+'SECRET='+this.secret;
    let options={
      url:token_url,
      method:"GET"
    }
    const rp = 
       new Promise((resolve, reject) => {
        request(options, (error, response, body) => {
          if (error) {
            reject(error);
          }
          resolve(response);
        });
      });
    const result = await rp;
    return (typeof result.body === 'object') ? result.body : JSON.parse(result.body);;
  }

以下函数是腾讯云中调用公众号后台文章的代码。

const request = require('request')

//const QUERY_URL = 'https://api.weixin.qq.com/tcb/databasecollectionget?access_token='

exports.main_handler = async (event, context, callback) => {
const APPID = event.queryString.APPID; // 公众号 APPID
const SECRET = event.queryString.SECRET; // 公众号 Secret
//const ENV_ID = ''
const TOKEN_URL = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + APPID + '&' + 'secret=' + SECRET;
let options={
      url:TOKEN_URL,
      method:"GET"
    }
    const rp = 
       new Promise((resolve, reject) => {
        request(options, (error, response, body) => {
          if (error) {
            reject(error);
          }
          resolve(response);
        });
      });
    const result = await rp;
    return (typeof result.body === 'object') ? result.body : JSON.parse(result.body);

};

好了 基本到此结束了,突然想起来了这个坎,记录一下,以防自己后期忘记,整体思路就是:
云开发调用云函数,云函数设置固定出口IP,公众号文章后台IP白名单设置即可。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值