用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 实战教程 查看内容

如何在微信小程序中获得公众号的access_token?

Rolan 2020-9-17 10:20

在小程序里面调用公众号的API(。但是,公众号API在被调用的时候,需要先获取access_token。

微信小程序和公众号有很好的互补性,经常被开发者结合使用。在开发微信小程序(微信租赁店)的时候遇到一个问题:在小程序里面调用公众号的API(。但是,公众号API在被调用的时候,需要先获取access_token。

获取access_token本身不难,但是公众号后台管理平台缺必须要提前填写IP白名单,也就是说,只有固定IP并出现在白名单中,才能向微信服务器请求获取access_token。注意,在小程序中云开发中,云函数可以直接获取小程序的access_token,而不需要固定IP地址,云函数目前也不能进行固定IP地址的配置。对于像舍得叔叔这样的开发者,一直采用微信小程序云开发,而没有架设自己的服务器,这是一个难题!

为获取公众号access_token而自建服务器,这对serverless信仰的我而言简直是侮辱!自建服务器用于获取access_token可能成为性能的瓶颈和运维的瓶颈,前面采用serverless的好处一夜之间荡然无存!

采用腾讯SCF(Serverless Cloud Function)实现access_token云函数

采用腾讯SCF(Serverless Cloud Function)技术,开发了一个简单的access_token云函数,这个云函数运行在腾讯SCF环境下,配置了外网访问固定IP地址,不需要任何服务器,就实现了固定IP地址对微信服务器发起access_token请求!

调用的示例代码如下:

request = require('request')
let res = await (new Promise((resolve, reject) => {
    try {
        request({
                url: 'https://service-5yy1o1wv-1257613110.sh.apigw.tencentcs.com/release/getAccessToken?appid=' + appId + '&secret=' + appSecret,
                method: "GET",
                json: true,
            },
            function (err, resp, body) {
                if (err) {
                    return reject(err)
                }
                return resolve(body)
            })
    } catch (e) {
        return reject(err)
    }
}))
return {
    msg: "SUCCESS",
    access_token: res.access_token
}

作者:舍得叔叔
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏