- 我都按照文档写了,在B小程序中调用报错了...
- 小程序A也环境共享给B了
- 为啥B中调用B中创建的云函数获取A中的数据库报错了、还是说有缺少什么?有大神可以帮忙看看吗?
errCode: -501007
errMsg: "missing secretId or secretKey of tencent cloud"
[[Prototype]]: Object
- B程序中调用B中的云函数获取A小程序中的数据库数据
async loadGlobalConfig() {
try {
const res = await wx.cloud.callFunction({
name: 'get_global_config'
});
console.log('获取全局配置成功:', res);
if (res.success && res.data) {
this.globalData.config = res.data;
return res.data;
} else {
console.error('配置获取失败:', res);
return localConfig;
}
} catch (err) {
console.error('调用云函数获取配置出错:', err);
return localConfig;
}
}
const cloud = require('wx-server-sdk')
const CONFIG_COLLECTION = 'app_config'
exports.main = async (event, context) => {
try {
const c1 = new cloud.Cloud({
resourceAppid: 'wxfb8e***********25f',
resourceEnv: '***********',
})
await c1.init()
const res = await c1.database().collection(CONFIG_COLLECTION).get()
console.log(' ---> B数据库res:', res);
return {
success: true,
data: res.data
}
} catch (err) {
console.log(' ---> 错误err:', err);
return {
success: false,
message: err.message,
stack: err.stack,
name: err.name
}
}
}
- 小程序A中也创建了云函数cloudbase_auth
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
console.log(event)
console.log(wxContext)
console.log(wxContext.FROM_APPID)
console.log(wxContext.FROM_OPENID)
console.log(wxContext.FROM_UNIONID)
return {
errCode: 0,
errMsg: '',
auth: JSON.stringify({
x: 1,
}),
}
}
报错提示缺少 secretId 和 secretKey, B初始化环境时需要补上