第三方平台云开发调用云函数报错cloudID not belong to user,该如何解决?
1、云环境创建成功,小程序绑定成功,云函数上传成功,下面是相关接口返回 array(2) {
["appid"] => string(18) "wx8264af6e2f4fb6aa"
["env_list"] => array(1) {
[0] => string(30) "cloud-htx-001-4gktoxxv76500a1a"
}
}
array(4) {
["errcode"] => int(0)
["errmsg"] => string(2) "ok"
["total_count"] => int(1)
["functions"] => array(1) {
[0] => array(6) {
["mod_time"] => string(19) "2021-12-22 09:10:22"
["add_time"] => string(19) "2021-12-22 09:10:22"
["runtime"] => string(9) "Nodejs8.9"
["name"] => string(9) "getMobile"
["status"] => string(6) "Active"
["status_reason"] => array(0) {
}
}
}
}
云函数定义: // 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const res=await cloud.getOpenData({
list:[event.cloudID]
})
return res
}
页面代码: <button class="phone_authorize" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号码等信息2</button>
小程序调用代码: async getPhoneNumber(e) {
console.log("e:",e)
// 声明新的 cloud 实例
var c1 = new wx.cloud.Cloud({
// 资源方 AppID
resourceAppid: 'wxd5798ddbe851f465',
// 资源方环境 ID
resourceEnv: 'cloud-htx-001-4gktoxxv76500a1a',
})
// 跨账号调用,必须等待 init 完成
// init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
await c1.init()
// 完成后正常使用资源方的已授权的云资源
await c1.callFunction({
// 云函数名称
name: 'getMobile',
// 传给云函数的参数
data: {
cloudID: e.detail.cloudID
},
success: function(res) {
console.log("获取成功",res)
console.log("phoneNumber",res.result.list[0].data.phoneNumber)
},
fail: console.error
})
调用报错信息: {
"result": {
"list": [
{
"cloudID": "52_Nio-R0x4lEtSxhAh-Mf8LWGafzvovdGKa1AXObzcnTd9BAI3pqySrsMsb4U",
"errCode": -601007,
"errMsg": "cloudID not belong to user."
}
],
"errMsg": "getOpenData:ok",
"errCode": 0
},
"requestID": "7bdbfc63-62d1-11ec-af27-3e24585222e7"
}