微信小程序如何获取群聊ID?

  • 回答 (1)
  • 关注 (0)
  • 查看 (289)

微信小程序如何获取群聊ID?

无聊至极无聊至极提问于
美空鸡多西电回答于

开发者获取 openGID 要依托于用户转发到群聊的小程序卡片,具体步骤如下:

设置带 shareTicket 的分享

在小程序内,开发者调用接口wx.updateShareMenu 带参数withShareTicket:true ,设置当前页面分享到群聊时能获取 openGID。而shareTicket本身就是获取 openGID 的凭证。

而 iOS/Android App 分享场景当中,微信SDK也支持把所分享的消息设置成带 shareTicket。

值得注意的是,带 shareTicket 的分享卡片会被固定在某个群聊的,也就是说分享卡片会变成不能被长按转发。

由启动参数获取 shareTicket

当用户从某个带 shareTicket 的卡片进入小程序时,开发者可以在App.onLaunch 或者App.onShow 获取 shareTicket,而在小游戏上开发者可以通过监听 wx.onShow 或者同步调用wx.getLaunchOptionsSync 获取shareTicket。

shareTicket 实际上是小程序启动时临时生成的变量,在小程序生命周期内仅作为调用接口的凭证。生命周期结束后 shareTicket 就没有意义了。

通过 shareTicket 获取 openGID

开发者调 wx.getShareInfo 接口以 shareTicket 换取 openGID 的加密数据包,这是为了保证开发者服务器收到的 openGID 是可信的,开发者需要把加密数据交由后台解密,拿到真实的 openGID。

数据加密机制更多参看[数据加密相关文档]

可能回答问题的人

  • Justan

    腾讯 · 高级工程师 (已认证)

    17 粉丝0 提问7 回答
  • 李成熙heyli

    腾讯 · 高级工程师 (已认证)

    65 粉丝0 提问10 回答
  • 鲁文斌

    腾讯 · 产品经理 (已认证)

    5 粉丝0 提问0 回答
  • JoanLiu

    腾讯 · 产品经理 (已认证)

    15 粉丝0 提问0 回答
  • 腾讯云开发TCB

    腾讯科技有限公司 · 云开发(TCB)团队 (已认证)

    46 粉丝0 提问0 回答
  • Starkwang

    4 粉丝0 提问0 回答

扫码关注云+社区

领取腾讯云代金券