收藏
回答

云开发资源共享,调用方小程序调用资源方的云函数getopenid,获取不到openid,怎么办?

1、小程序A开通了云开发,开通了资源共享,小程序B是调用方

2、小程序A里面的云函数getOpenid是官方获取openid的(在小程序A内一切正常获取)

return {
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  };

3、小程序B去调用资源方的getOpenid,可以调用正常,但是控制台返回结果只返回了appid有值,其他2个字段都是空

4、小程序B调用资源方其他的云函数正常

问一下各位大佬如何处理

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

3 个回答

  • 跨商通
    跨商通
    12-12

    当然没有。

    Openid只会返回A小程序的openid,想返回b小程序的openid,是另外一个FROM_OPENID

    云函数里代码要改成:

    return{
    openid:wxContext.FROM_OPENID||wxContext.OPENID
    ...
    }
    
    12-12
    有用 2
    回复
  • showms
    showms
    12-12

    https://developers.weixin.qq.com/community/develop/article/doc/0006ead115cfe8f9bd007fe7466813

    可以看下npm包wx-server-inherit-sdk,里面改造了getWxContext函数,getWxContext().APPID、getWxContext().OPENID 可以直接获取到调用方的appid/openid

    12-12
    有用
    回复
  • 拾忆
    拾忆
    12-11

    12-11
    有用
    回复 2
    • Cat
      Cat
      12-12
      可以调用了,大佬还需要问一下上面这个如何放在共用方法里面,比如放在app'.js里面,,,然后在页面直接调用init一下,,网上查了试了都报错

      能不能贴一下app.js的公用函数代码,还有page.js的调用代码
      12-12
      回复
    • Cat
      Cat
      12-12
      是这个逻辑吧
      12-12
      回复
登录 后发表内容