微信开放平台登录时,返回结果缺openid

zhwquan 2017-07-03 02:45:18
说明:
用code调用https://api.weixin.qq.com/sns/oauth2/access_token兑换access_token时,返回结果里为啥没有openid?
微信的文档上说有,实际上没有? 不传openid取用户资料,提示 {"retMsg":"missing openid, hints: [ req_id: C4wF405851015 ]","retCode":41009}
...全文
816 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哦,sorry,我把你的问题看成了获得 code。code 是用来换取 token 和 openid的。 那么你肯定要检查一下你的 code 是不是真实的 code,code 只有在几分钟内有效,而且我估计只能使用一次。 否则应该就会被认为的“违法”行为。
  • 打赏
  • 举报
回复
这一步是获得 access_token,而不是获取 openid。 假如在这个流程中获取 openid,那么任何“流氓”就都能获得别人的 openid 了。因为这个 url 访问的参数都是固定,很容易被流氓发现。 因此首先要用这个固定参数的 access_token 获得随即改变值得 token,然后你的微信服务器端(别的服务器端则不行)再用随机 token 值再去换取 openid,腾讯系统才认为这是真实的用户服务器发来的请求,而不是流氓发来的。
zhwquan 2017-07-04
  • 打赏
  • 举报
回复
原因已找到,自己的问题。返回结果,json解码时,不小心把java类的字段,写成了openId导致的
zhwquan 2017-07-04
  • 打赏
  • 举报
回复
现在是,有一定的概率不返回openid,约40%左右,其他60%的方式是正常的
zhwquan 2017-07-04
  • 打赏
  • 举报
回复
code是有效的,只是返回的结果里,没有openid
zhwquan 2017-07-03
  • 打赏
  • 举报
回复
返回结果里有:access_token、expires_in、refresh_token、scope、errcode=0,就是没有openid,这是为什么
zhwquan 2017-07-03
  • 打赏
  • 举报
回复
自己顶一下。

3,156

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧