1.从公众账户 路径进入下面的 页面

""https://---------/wxCode?appid=--------&redirect_uri=-------&response_type=code&scope=snsapi_userinfo

2.wxCode的html 代码是 github 上的代码 源码来源 https://github.com/HADB/GetWe...

代码如下:

微信登录

var GWC = {

version: '1.1.1',

urlParams: {},

appendParams: function(url, params) {

if (params) {

var baseWithSearch = url.split('#')[0];

var hash = url.split('#')[1];

for (var key in params) {

var attrValue = params[key];

if (attrValue !== undefined) {

var newParam = key + "=" + attrValue;

if (baseWithSearch.indexOf('?') > 0) {

var oldParamReg = new RegExp('^' + key + '=[-%.!~*\'\(\)\\w]*', 'g');

if (oldParamReg.test(baseWithSearch)) {

baseWithSearch = baseWithSearch.replace(oldParamReg, newParam);

} else {

baseWithSearch += "&" + newParam;

}

} else {

baseWithSearch += "?" + newParam;

}

}

}

if (hash) {

url = baseWithSearch + '#' + hash;

} else {

url = baseWithSearch;

}

}

return url;

},

getUrlParams: function() {

var pairs = location.search.substring(1).split('&');

for (var i = 0; i < pairs.length; i++) {

var pos = pairs[i].indexOf('=');

if (pos === -1) {

continue;

}

GWC.urlParams[pairs[i].substring(0, pos)] = decodeURIComponent(pairs[i].substring(pos + 1));

}

},

doRedirect: function() {

var code = GWC.urlParams['code'];

var appId = GWC.urlParams['appid'];

var scope = GWC.urlParams['scope'] || 'snsapi_base';

var state = GWC.urlParams['state'];

var redirectUri;

if (!code) {

//第一步,没有拿到code,跳转至微信授权页面获取code

redirectUri = GWC.appendParams('https://open.weixin.qq.com/connect/oauth2/authorize#wechat_redirect', {

'appid': appId,

'redirect_uri': encodeURIComponent(location.href),

'response_type': 'code',

'scope': scope,

'state': state,

});

} else {

//第二步,从微信授权页面跳转回来,已经获取到了code,再次跳转到实际所需页面

redirectUri = GWC.appendParams(GWC.urlParams['redirect_uri'], {

'code': code,

'state': state

});

}

location.href = redirectUri;

}

};

3.进入 参数的页面时 redirect_uri=------- ,将code从url获取下来 保存到cookie 里 记录了下来。

4.在这个页面里 调用了 一个php 接口。 将code 获取到 传递过去, php 拿到这个code 调用微信接口获取access_token, 接口返回信息 一直都是errcode = 40163;errmsg = code been used 人都快崩溃了。

由于以上 无法解决问题, 又做了如下调整:

1.从Php文件做入口,直接走授权, 跳转页为当前域名下的 H5 html文件, 授权通过后,跳转页 html 参数中带有code。

2.在此H5 html中请求 php接口 并将 url中的code 传递过去,

3.php 通过传递过来的 code 获取access_token ,同样 报errcode = 40163;errmsg = code been used

代码如下 :

入口路径

ht tps://api/getWXCode?redirect_uri=htt ps://api/Minicustomer/receive(此处是php文件中的一个函数)

渲染出来的页面url 带有 code 参数 在此页面中 通过

$.getJSON("https://api*/WxRedPack?code=" + $.isUrlPar("code") + "&amount=" + $.cookie("amount") + "&callback=?", function(data) {

code 传递给php 接口, 调用微信接口获取 access_token 的时候 一直报 errcode = 40163;errmsg = code been used

崩溃!!!

故,寻求 导致原因, 和解决方法。

40163 php,微信授权登录code 40163相关推荐

  1. code换取微信openid_微信授权登录开发的两种方式

    本文主要针对微信公众号(公众平台的开发) 首先理解一个概念:OAuth: OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表), ...

  2. 微信小程序微信授权登录,使用getPhoneNumber()部分手机无法获取动态令牌code(Taro)

    今天在测试微信授权登录时,部分微信使用getPhoneNumber()方法无法获取动态令牌code, 查询微信小程序文档提示: 可以使用组件的方式获取兑换用户手机号的动态令牌. 使用方法: 需要将 b ...

  3. 关于微信公众号页面获取code进行微信授权登录

    关于微信公众号页面获取code进行微信授权登录 前言 提示:本文章为个人平时开发中的一些坑,对于新手可以耐心看一下,如果您感觉可以的话,请点个小星星再走吧,多谢了~~~ 提示:以下是本篇文章正文内容( ...

  4. 慕课网_《微信授权登录》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...

  5. thinkphp 微信授权登录 以及微信实现分享

    <?php namespace app\wechat\controller; use think\Controller; use think\Request; /** * 微信授权登录类 * U ...

  6. ios微信登录不上服务器,iOS微信授权登录

    首先需要确保你的App应用在微信开发平台上注册创建并获得对应的接口,对应登录.支付等功能还涉及付费,具体申请流程就不再这里说了.到开放平台->管理中心->移动应用->查看应用,确认你 ...

  7. Java版本微信授权登录(测试版)

    这篇文章是对微信授权登录的一个测试版本,并不能直接在生产上使用,对于在生产上正式使用将会在下一篇中描述. 一,首先需要以下两个数据 appID和appsecret 如何获取这两个数据,请先登录微信公众 ...

  8. 微信授权登录mock(在没有真实微信账号的情况下测试大量微信账户授权登录的情况)...

    场景介绍 对于构建在微信公众号的系统,帐号体系往往使用微信授权登录(如各类微信商城应用系统). 这样操作不仅可以实现静默注册,对用户几乎是无感的,同时也达到了区分用户,获取用户基本信息(头像,昵称等) ...

  9. 微信授权登录(微信订阅号使用测试账号)

    1.微信授权登录: 微信公众号测试登录: 准备: 1.1 花生壳! 下载地址:http://hsk.oray.com/download/ 1.2 微信公众号:https://mp.weixin.qq. ...

  10. 小程序 - 微信授权登录 微信授权绑定手机号

    用户在使用小程序时,经常需要授权登录,授权登录的作用是获取用户的基本信息,如头像.昵称以及openid等,openid可用于微信授权手机号.微信支付. 微信授权登录 .xhtml如下,wxLogin为 ...

最新文章

  1. Mysql—(1)—
  2. CentOS 7 安装Apache 2.4.39
  3. Oracle10g备份集压缩新特性(Backupset Compression)
  4. 151205 财务管理原理作业(笔试题型)
  5. _attribute_((packed))
  6. springboot 配置多个请求服务代理
  7. python字符画太小_python小项目(-)图片转字符画
  8. Unity搭建简单的图片服务器
  9. 【图像处理】MATLAB:图像噪声
  10. 编程之美读书笔记1.2——中国象棋将帅问题
  11. tcl机顶盒 tk 8296刷机固件及教程
  12. 华为交换机做qos案例_华为交换机QoS在企业网络中的应用
  13. 通过云服务器实现淘宝京东抢拍器
  14. OFDM专题之多径效应引起的码间串扰问题
  15. Linux如何配置DNS服务器
  16. Quixel bridge桥接设置
  17. win7家庭版计算机添加用户,win7家庭版怎样设置来宾用户权限
  18. View被遮挡的解决办法
  19. 自己动手刷原生android系统
  20. 这是一篇儿正儿八经的自我介绍~

热门文章

  1. MapReduce经典案例-TopN
  2. 我为什么学习设计模式
  3. html中单元格向下合并单元格,html中单元格合并 HTML 怎么给合并单元格设置宽度...
  4. MSP430F5529 多路PWM输出控制舵机和电机
  5. D. Count GCD
  6. 【Ps2D】将PS图层导入Unity的插件
  7. 线程----code
  8. 2022-2027年(新版)中国钢铁产业运行状况及需求前景预测报告
  9. Collecting package metadata (current_repodata.json): failed
  10. android 控制手机,如何用Android手机控制另一部手机[详细说明]