小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
昨天的时候,云函数访问外网,他的IP还是固定的。
但是今天,云函数IP一直变化,基本每次调用都是不同的IP。这样就导致访问公众号数据时,出现IP不在公众号白名单中。无法获取公众号数据。
- 预期表现
如何解决?可否把IP固定下来?或者如何取消公众号ip白名单?或者如何在代码里面搞一个代理IP?
- 复现路径
- 提供一个最简复现 Demo
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
一年了,还没有解决办法吗?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
if (usage == "getProxy"){
//get wx token
if (nowTime < expiryTime + wxTimeStamp) {
console.log('wx token is OK')
}
else {
console.log('updating wx token')
var value = {
method: 'GET',
uri: ' https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + wxAppId + '&secret=' + wxSecret,
json: true
if (proxyOn) value.proxy = 'http://' + proxyIP;
const newTokenData2 = await rp(value)
if (newTokenData2.access_token == null)
{
return {
validToken:false,
proxyIP: proxyIP,
proxyOn: proxyOn,
console.log('newToken2 is: ' + newTokenData2.access_token)
await db.collection('token')
.where({ secret: tokenData.data[0].secret })
.update({
data:
wxTimeStamp: parseInt(new Date().getTime() / 1000),
wxAccessToken: newTokenData2.access_token,
},
})
console.log('get wx new token finished')
validToken: true,
希望在云函数里面可以调用公众号接口,最好还能够接受微信服务器的消息。。。
已经搞定了,看看下面的代码。
没看懂,rp是什么?
var rp = require('request-promise')
引用这个包,就可以使用http了。但是和公众号通信还是不行,因为IP不固定。你需要搞一个代理服务器。
if (proxyOn) value.proxy = 'http://' + proxyIP; //这个就是代理服务器 格式:1.1.1.1:80
通过上面云函数里面的一串代码,你就可以获取到公众号token。然后你就可以利用这个token,用rp随便post get公众号了。
听上去不错,我试试。。。另外,可以当服务器用吗,接受微信公众平台服务器的消息?哈哈
代理服务器用的是哪个?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
一年了,还没有解决办法吗?
if (usage == "getProxy"){
//get wx token
if (nowTime < expiryTime + wxTimeStamp) {
console.log('wx token is OK')
}
else {
console.log('updating wx token')
var value = {
method: 'GET',
uri: ' https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + wxAppId + '&secret=' + wxSecret,
json: true
}
if (proxyOn) value.proxy = 'http://' + proxyIP;
const newTokenData2 = await rp(value)
if (newTokenData2.access_token == null)
{
return {
validToken:false,
proxyIP: proxyIP,
proxyOn: proxyOn,
}
}
console.log('newToken2 is: ' + newTokenData2.access_token)
await db.collection('token')
.where({ secret: tokenData.data[0].secret })
.update({
data:
{
wxTimeStamp: parseInt(new Date().getTime() / 1000),
wxAccessToken: newTokenData2.access_token,
},
})
console.log('get wx new token finished')
}
return {
validToken: true,
proxyIP: proxyIP,
proxyOn: proxyOn,
}
}
希望在云函数里面可以调用公众号接口,最好还能够接受微信服务器的消息。。。
已经搞定了,看看下面的代码。
没看懂,rp是什么?
var rp = require('request-promise')
引用这个包,就可以使用http了。但是和公众号通信还是不行,因为IP不固定。你需要搞一个代理服务器。
if (proxyOn) value.proxy = 'http://' + proxyIP; //这个就是代理服务器 格式:1.1.1.1:80
通过上面云函数里面的一串代码,你就可以获取到公众号token。然后你就可以利用这个token,用rp随便post get公众号了。
听上去不错,我试试。。。另外,可以当服务器用吗,接受微信公众平台服务器的消息?哈哈
代理服务器用的是哪个?