收藏
回答

微信公众号h5页面使用code获取openid报错?

1、微信公众号h5页面放在浮窗,重新打开之后,通过code获取openid失效,报错:40029(invalid code,不合法的oauth_code)的错误

2、微信公众号h5页面放在浮窗,然后切换微信账号,重新切换回原来的账号打开浮窗里的h5页面,获取openid失败,报错:40163:code been used是怎么回事呢?



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

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-01-26

    code只能消费一次

    2021-01-26
    有用 1
    回复 11
    • Zero🤛🏾
      Zero🤛🏾
      2021-01-26
      直接从公众号打开h5页面是没有问题的,也不会出现code被使用过的错误,但是放在浮窗之后,过一段时间从浮窗进入,页面会重新去获取openid,这个时候请求的code是上一次进入页面获取的code,所以会报code被使用过,请问一下,这个怎么解决呢?
      2021-01-26
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-01-26回复Zero🤛🏾
      后台接口谁写的?会使用缓存吗?
      2021-01-26
      回复
    • Zero🤛🏾
      Zero🤛🏾
      2021-01-26回复Mr.Zhao
      后端同事写的,我是前端,请问大佬是不是需要后端将code缓存下来呀?
      2021-01-26
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-01-26回复Zero🤛🏾
      让后端改吧
      2021-01-26
      回复
    • Zero🤛🏾
      Zero🤛🏾
      2021-01-26
      麻烦再请问一下大佬,40029(invalid code)怎么解决呀,也是需要缓存吗?
      2021-01-26
      回复
    查看更多(6)
  • 栀言
    栀言
    2021-02-01

    请问下你们的业务场景是什么呢,是偶现还是必现

    一、invalid code可能是以下原因;

    1.传给后端的code不正确;

    2.后端调用微信api时,appId、appSecret的入参不正确;



    二、code been used可能是没有刷新页面重新获取授权code导致的报错(需要前端获取code,后端调用获取授权code的url会提示请在微信客户端打开);



    2021-02-01
    有用
    回复
登录 后发表内容
问题标签