获取openid的云函数很简单如下,就是直接返回openid,appid,其中openid返的是空字符串,appid值却是A小游戏的appid。 难道B小游戏不能通过共享的云函数拿到自己的openid? 还是我哪里搞错了?请指教!
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env:"db-xxxxx"
})
// 云函数入口函数
exports.main = async (event, context) => { //获取用户信息
const wxContext = cloud.getWXContext()
return {
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
获取调用方的appid/openid/unionid也有所不同 // 跨账号调用时,由此拿到来源方小程序/公众号 AppID console.log(wxContext.FROM_APPID) // 跨账号调用时,由此拿到来源方小程序/公众号的用户 OpenID console.log(wxContext.FROM_OPENID) // 跨账号调用、且满足 unionid 获取条件时,由此拿到同主体下的用户 UnionID console.log(wxContext.FROM_UNIONID)
https://developers.weixin.qq.com/community/develop/article/doc/0006ead115cfe8f9bd007fe7466813
return { openid: wxContext.FROM_OPENID, appid: wxContext.FROM_APPID, unionid: wxContext.FROM_UNIONID, }
改成FROM_OPENID就可以获取了