收藏
回答

云开发 环境共享 获取开放数据函数返回 "cloudID not belong to user."?

云开发 环境共享 获取开放数据函数返回 "cloudID not belong to user."?

我发现好多人都遇到了这个问题啊, 怎么回事儿, 官方不能出个详细的文档解释一下吗?

跨环境 云函数的 获取开放数据 怎么弄呢?

// 云函数

const cloud = require('wx-server-sdk')


// 初始化 cloud
cloud.init({
  // API 调用都保持和云函数当前所在环境一致
  env: cloud.DYNAMIC_CURRENT_ENV
})

/**
 * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
 * 
 * event 参数包含小程序端调用传入的 data
 * 
 */
exports.main = async (event, context) => {
  console.log(event)
  console.log(context)

  // 可执行其他自定义逻辑
  // console.log 的内容可以在云开发云函数调用日志查看

  // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息
  const wxContext = cloud.getWXContext();
  const res = await cloud.getOpenData({ list: event.list });
  return {
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
    env: wxContext.ENV,
    phoneInfo:res.list
  };
}


小程序 A,将云开发 环境共享给了 一个主体的 小程序B,小程序A调用 云函数 一切正常。

小程序B调用 云函数

获取手机号码等信息2
async getPhoneNumber(e) {

      // 声明新的 cloud 实例
      var c1 = new wx.cloud.Cloud({
        // 资源方 AppID
        resourceAppid: 'xxx',
        // 资源方环境 ID
        resourceEnv: 'xxx',
      })


      // 跨账号调用,必须等待 init 完成
      // init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
      await c1.init()


      // 完成后正常使用资源方的已授权的云资源
      await c1.callFunction({
        // 云函数名称
        name: 'getMobile',


        // 传给云函数的参数
        data: {
          list: [e.detail.cloudID]
        },


        success: function(res) {
          console.log("获取成功",res)
        },
        fail: console.error
      })


最后一次编辑于  08-26
回答关注问题邀请回答
收藏

4 个回答

  • 云开发小助手CloudBase
    云开发小助手CloudBase
    08-27

    你好,这边看到你的小程序B调用 云函数的resourceAppid 和resourceEnv都没有指定呢

    

    08-27
    有用
    回复 1
    • 海格雷尔
      海格雷尔
      08-28
      我指定了, 不过我用XXX 屏蔽了 不是没写
      08-28
      回复
  • showms
    showms
    08-27

    没有用过,但看文档是不是应该这样?

    // 完成后正常使用资源方的已授权的云资源

    await c1.callFunction({

    // 云函数名称

    name: 'getMobile',

    // 传给云函数的参数

    data: {

      list: c1.CloudID(e.detail.cloudID)

    },

    success: function(res) {

      console.log("获取成功",res)

    },

    fail: console.error

    })

    08-27
    有用
    回复
  • 海格雷尔
    海格雷尔
    08-26

    https://developers.weixin.qq.com/community/develop/doc/0000804f23c79882f32fbd84156400?_at=1724649777313

    类似的问题链接 基本是一个问题 也是没有解决

    都是同样的错误码 CLOUD NOT BELONG TO USER.

    08-26
    有用
    回复
  • 跨商通
    跨商通
    08-26

    什么代码,报这样的错,不该说一下的吗?

    08-26
    有用
    回复 1
    • 海格雷尔
      海格雷尔
      08-26
      加上代码 描述了
      08-26
      回复
登录 后发表内容