收藏
回答

转发获取群信息失败,getShareInfo:fail 4

在onShareAppMessage方法的success中,可以获取到shareTickets,调用getShareInfo时,报错了getShareInfo:fail 4,请问是什么情况呢?

回答关注问题邀请回答
收藏

3 个回答

  • 连胜
    连胜
    2017-09-26

    我最近刚做了获取openGid功能,具体代码如下:

    onShareAppMessage: function () {
        var self = this;
        return {
          title: '您收到了一条重要通知',
          path: '/pages/detail/detail',
          success: function(res){
            console.log('notice === :')

            console.log(self.data.notice);

           // 已经有open_gid的,就不再获取

            if (self.data.notice.group_only && self.data.notice.open_gid == ''){
              util.showLoading('正在获取群信息');
              wx.getShareInfo({
                shareTicket: res.shareTickets[0],
                complete: function(res){
                  console.log('complete ========');
                  console.log(res);
                  // 后台解密,获取 openGId
                  bindGroupInfo(res, self);
                }
              });
            }
          },
          fail: function(res){
            console.log('转发到群/好友失败 ============= ');
            util.showModelTips('分享失败,请重新分享到群');
          }
        }
      },

    希望对你有帮助

    徽信:mianhuabingbei


    2017-09-26
    有用
    回复
  • 灰灰灰灰灰灰
    灰灰灰灰灰灰
    2017-09-26

    我懂您的意思了。我是想在用户转发后获取群的openGId,getShareInfo返回success的话会有个encryptedData,解密它可以拿到openGId。我的getShareInfo 返回了 fail:4.您知道什么情况吗,或者怎么获取到openGId。谢谢

    2017-09-26
    有用
    回复
  • 连胜
    连胜
    2017-09-26

    有没有在app.js里面的onShow方法里面获取shareTickets?(官方说onLuanch里面也可以获取到)


    App({
      onLaunch: function (ops) {
      },
      onShow: function (ops) {
        this.shareTicket == '';
        if (ops && ops.scene && ops.scene == 1044) {
          this.shareTicket = ops.shareTicket ? ops.shareTicket : '';
        }
      },
    })


    然后再到页面中获取:

    var app = getApp();
    Page({
    ...
    onShow: function (ops) {
        var self = this;
        if (app.shareTicket){
          wx.getShareInfo({
            shareTicket: app.shareTicket,
            complete: function (res) {
              console.log(res);
              if(res.errMsg == 'getShareInfo:fail:'){
                // error
              }
              else{
                // success
              }
            }
          });
        }
      },
    ...
    })


    2017-09-26
    有用
    回复
登录 后发表内容