美文网首页微信小程序开发微信小程序开发
如何在微信小程序中获得公众号的access_token?(一)

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

作者: 舍得叔叔 | 来源:发表于2020-05-05 21:50 被阅读0次

IP白名单阻碍了微信小程序云开发调用公众号API

微信小程序和公众号有很好的互补性,经常被开发者结合使用。舍得叔叔在开发微信小程序(微信租赁店)的时候遇到一个问题:在小程序里面调用公众号的API(关联服务号:舍得叔叔和小伙伴们爱摄影)。但是,公众号API在被调用的时候,需要先获取access_token,比如获取素材列表API:https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=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请求!

有同样需求的开发者,可以在小程序云函数中直接调用舍得叔叔写的云函数,调用地址和格式:https://service-5yy1o1wv-1257613110.sh.apigw.tencentcs.com/release/getAccessToken?appid=wx25d1740123456789&secret=46c4e876bb5ab67d85f6500123456789

IP地址是:123.206.197.238,这个地址可以配置到公众号的IP白名单中。


image.png

调用的示例代码如下:

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
}

如何开发腾讯云SCF,实现获取access_token云函数的详细步骤和相关代码,舍得叔叔将在如何在微信小程序中获得公众号的access_token?(二)中详细阐述。

相关文章

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

    IP白名单阻碍了微信小程序云开发调用公众号API 微信小程序和公众号有很好的互补性,经常被开发者结合使用。舍得叔叔...

  • official-account组件

    official-account是公众号关注组件,用于微信小程序中展示,用户在小程序中可以看到公众号的展示信息,如...

  • 实战:微信小游戏与腾讯云

    本节的主要内容 微信小程序公众号 小程序公众号设置 腾讯云微信小游戏服务 小结 一、微信小程序公众号 微信公众号平...

  • 并发下资源的访问控制

    背景 在开发微信公众号的时候,会和access_token打交道,参照微信的文档 access_token是公众号...

  • 小程序开发:微信小程序与公众号的区别与联系!

    微信公众号与小程序都是隶属于微信公众平台的子平台,微信公众号的开发有自己的规则,在微信小程序中,小程序上线需要通过...

  • 微信发票开发

    一、使用GET请求获取微信access_token access_token是公众号的全局唯一接口调用凭据,公众号...

  • 微信发票开发的iOS流程

    微信发票开发的iOS流程 1、使用GET请求获取微信access_token access_token是公众号的全...

  • 微信开发基本介绍

    微信订阅号,服务号,企业号,小程序?公众号要选订阅号还是服务号?小程序是什么? 订阅号?微信公众平台,微信开放平台...

  • web前端资源分享

    欢迎关注本人微信公众号【前端体系】,公众号回复【礼物】即可获得“微信小程序”学习资料~ “领干货” 一起提升技能!...

  • 小程序蓝牙调试工具上线啦!

    一、微信小程序开发相关资料: 微信公众平台:开发小程序或公众号需要先到这里注册小程序官方文档:微信小程序开发离不了...

网友评论

    本文标题:如何在微信小程序中获得公众号的access_token?(一)

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