微信扫码登录

其他登录方式

绑定手机号

注册

我同意用户协议

忘记密码

用户协议

绑定手机号

近期有不法分子打着爱盈利的旗号,制作“爱盈利”名称的App,并伪造爱盈利证件,骗取用户信任,以抖音点赞赚钱或其他方式赚钱为名义,过程中以升级会员获得高佣金为名让用户充值。
爱盈利公司郑重声明:我司没有研发或运营过任何名为“爱盈利”的APP,我司做任务赚钱类产品从没有让任何普通用户充值升级会员。我公司产品均在本网站可查询,请将网站拉至底部,点击“关于我们”可查看爱盈利相关产品与服务。
温馨提示:当遇到此类问题请拨打官方电话或添加官方微信,以免财产损失。爱盈利官网地址:www.aiyingli.com。
  • 推广与合作
X

小程序丨使用login code获取openid失败

来源: 5022

appid:wxd4298cf3aff9db35

获取openid返回的错误;

 errcode: 40029 errMsg: invalid code, hints: [ req_id: 9r2gBa0398ns84 ]

网友回复:

m***:

你是怎么调用接口的?能否确认使用的 code 的确是 wx.login 得到的那个 code?

.***:

开发工具端调用wx.login(); 根据返回的res.code; 传递到自己服务器后端,然后服务器后端拿这code到微信服务器端获取openid和session id

.***:

res.code确认过了;是一致的;在开发工具端console.log(res.code)与自己服务器后端log对比,传递没有问题;

ps:appid和secret也是没有问题的,确认多次了

m***:

真如你所说的这种情况,那实在是不好说问题在哪里了,也许只能请官方协助检查了。


不过,其实张冠李戴的情况是挺容易出现的,有时候就是瞪着眼睛看着也看不出来……

.***:

确实是如此,弱弱问一下,如何请求官方协助啊;

m***:

常做善事,常存善念……人品够了,就会有一个昵称里带着蓝色【官】字的官技进到这个帖子里来……

.***:

这..........

C***:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject


或者贴下你的代码

.***:

待会贴代码

.***:
//获取code
var getCode = function(callback) {
  wx.login({
    success: function(res){
      if(res.code) {
        console.log('syslogin: ', res)
        console.log('request id:', res.code)
        typeof callback === "function" && callback(res.code)
      }
      else {
        console.log('获取code失败!' + res.errMsg)
      }
    }
  })
}
 
// 获取access_token
function getToken (callback) {
  getCode((code) => {
    wx.getUserInfo({
      success: function(res){
        console.log('用户允许授权')
        var request = "code=" + code
        wx.request({
          url: Api.session,
          data: {
            code: request,
          },
          method: 'GET',
          header:{
            "Content-Type": "application/x-www-form-urlencoded"
          },
          success: function(res){
            typeof callback == "function" && callback(res.data)
          },
          fail: function() {
            console.log('wx.request 请求失败')
          }
        })
      },
      fail: function(res) {
        if(res.errMsg) {
          console.log('用户拒绝授权', res)
          typeof callback == "function" && callback({errMsg : "userDenyed"})
        }
      }
    })
  })
}

小程序端代码

//golang代码,服务端
func Login(ctx *context.Context) {
    ctx.Request.ParseForm()
 
    code := ctx.Request.FormValue("code")
    logs.Info("client login code:", code)
    //向微信服务器发起请求
    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }  
 
    appid := "wxd4298cf3aff9db35"
    secret := "XXXXX"  //secret确认过,没有问题
    url := "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code"
    client := &http.Client{Transport: tr}
    resp, err := client.Get(url)
    if err != nil {
        logs.Error(err.Error())
        rets.WriteHttpErrMsgs(ctx.ResponseWriter, 500, err.Error(), err)
        return
    }  
 
    defer resp.Body.Close()
    if resp.StatusCode == 200 {
        body, err := ioutil.ReadAll(resp.Body)
        var data ZtgameLoginRt
        err = json.Unmarshal([]byte(body), &data)
        if err != nil {
            rets.WriteHttpErrMsgs(ctx.ResponseWriter, 500, err.Error(), err)
            return
        }
        logs.Info("errcode:", data.ErrCode, "errMsg:", data.ErrMsg)
        //logs.Info("winxin server login return: ", data.Openid)
        //logs.Info(data.Session_key)
....
}

使用login code获取openid失败

爱盈利(aiyingli.com)移动互联网最具影响力的盈利指导网站。定位于服务移动互联网创业者,移动盈利指导。我们的目标是让盈利目标清晰可见!降低门槛,让缺乏经验、资金有限的个人和团队获得经验和机会,提高热情,激发产品。

评论

相关文章推荐

SELECT dw_posts.ID,dw_posts.post_title,dw_posts.post_content FROM dw_posts INNER JOIN dw_term_relationships ON (dw_posts.ID = dw_term_relationships.object_id) WHERE 1=1 AND(dw_term_relationships.term_taxonomy_id = 5246 ) AND dw_posts.post_type = 'post' AND (dw_posts.post_status = 'publish') GROUP BY dw_posts.ID ORDER BY RAND() LIMIT 0, 6

京ICP备15063977号-2 © 2012-2018 aiyingli.com. All Rights Reserved. 京公网安备 11010102003938号