使用官方例子,在登陆后调用云函数,从日志中看到报错代码未-601007,cloudid不属于用户。
这个cloudId是从checklogin登录接口获取到的。为什么会有这种提示呢?
相关代码
登录并获取cloudID
const { loggedIn, cloudID } = await cloud.checkLogin({
provider: 'OfficialAccount',
appid: 'wxf30cfbf0f6979c2d',
accessToken,
refreshToken
})
console.log(loggedIn, cloudID,'-- loggedIn')
this.cloudId = cloudID
调用云函数
this.cloudFn.callFunction({
name: 'cloudbase_auth',
data: {
userInfoData: new this.cloudFn.CloudID(this.cloudId)
}
}).then((res: any) => {
console.log('调用云函数结果', res)
})
后台日志
找到原因了,云函数初始化的时候不能选择identityless:true,并且要添加appid,之前看的教程是未登录使用云函数,如果要获取用户信息,一定要使用标准的登录流程的参数
new cloud.Cloud({ appid: '', // 资源方 AppID resourceAppid: '', // 资源方环境 ID resourceEnv: '', traceUser: true })