收藏
回答

关于session_key的问题

话说获取手机号有时候获取失败,是不是因为测试反复删除账号导致session_key不匹配的原因?但我现在每次判断没有手机号就重新login然后获取session_key,但是一样失败,一般都是一次失败,第二次成功

最后一次编辑于  03-21  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • sheng
    sheng
    03-21

    需要先登录后再调用获取手机

    03-21
    赞同 2
    回复 8
    • 灿.
      灿.
      03-21

      是啊我先login获取code,然后换取session_key,再换手机号

      03-21
      回复
    • sheng
      sheng
      03-21回复灿.

      你是点击获取手机号按钮后,再回调里面进行登录再解析手机号的吗


      03-21
      回复
    • 灿.
      灿.
      03-21回复sheng

      是的是的

      03-21
      回复
    • 灿.
      灿.
      03-21回复sheng

      谢谢老哥,没毛病了

      03-21
      回复
    • sheng
      sheng
      03-21回复灿.

      你这样操作有可能会失败的,当点击按钮后,此时对手机号进行加密的session_key是以前code值换取的session_key,叫它S1,这时候返回是iv和

      encryptedData就是S1的,然后在回调里面进行wx.login操作,有可能会刷新session_key,就叫它S2,而之后的解析手机号时,你传入的iv和encryptedData是用S1获取到的,而你又通过S2来解密通过S1加密的手机号,2个session_key是不同的,所以就失败了,这样清楚了吗?



      总的来说,就是不能点击按钮后,才调用wx.login,必须先wx.login后,才能点击按钮,这时候的session_key才是正确的

      03-21
      1
      回复
    查看更多(3)
  • 吴奕群
    吴奕群
    03-24

    保证session_key是最新的

    03-24
    赞同
    回复