“errcode”:40029,“errmsg”:“invalid code”踩坑

news/2025/2/12 19:41:50/

微信:公众号、小程序、服务号
原微信开发文档
添加链接描述
目前接触了公众号的相关事件,有以下几点个人总结:
首先了解功能的流程 微信客户端------腾讯服务器-----web端,大致流程。
1**.微信网页授权**
授权回调域名–是域名比如www.qq.com ,加上https是url。进行OAuth2.0鉴权
2.网页授权的两种scope:
以snsapi_base为scope发起的网页授权,来获取用户的openid,是属于静默授权,用户是无感知的。以snsapi_userinfo为scope发起的网页授权,需要用户手动同意赋权,
关于网页授权access_token和普通access_token的区别
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新。
关于静默授权的的流程步骤
.用户同意授权,获取code,https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect (appid分测试号和真正的运营好,一定要分开一对一),(REDIRECT_URI是域名建议如果要获取code要进行encodeURL进行转码,然后进行访问。重点强调一定要分开测试的url和appid和正式的一定要区分开)是可以在微信客户端打开访问的。
事例:在这里插入图片描述
参数说明:
appid -----------公众号的唯一标识
redirect_url 授权后重定向的回调地址
response_type code,返回类型(code只能被使用一次,5分钟的有效期,如果发现报错,要对比运行前后的code是否一致)可根据返回码确定报错的内容、
scope 授权作用域,静默授权,和用户手动授权
通过code换取网页授权access_token,
关于参数说明
{“access_token”:“ACCESS_TOKEN”,“expires_in”:7200}回调成功
{“errcode”:40013,“errmsg”:“invalid appid”}回调失败返回的错误码
经常会遇到的报错码:
{“errcode”:40029,“errmsg”:“invalid code”}
可能的原因:1.code获取前后不一致,获取到的试用过一次的,code使用过一次的是失效的。2.测试环境和生产环境搞混appid不一致。
微信开发工具
相对而言测试还是很靠谱的,相当于真机测试。
1.下载微信开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
2.登录公众号测试
进入开发者工具:
在这里插入图片描述
进行系列设置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改url 可能时间会比较久。
一系列操作完成就可以在微信开发工具进行测试。


http://www.ppmy.cn/news/167627.html

相关文章

将项目提交到码云时,异常: remote: [31mIncorrect username or password ( access token )[0m

Q:Git提交时,给出提示Incorrect username or password ( access token ) K: 此处是用户名或者密码有误,建议解决方法两种。具体看哪一种可行,可试。 第一种,电脑管理器内进行修改; [控制面板…

Git 冲突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed?...

解决方案有三种: 第一种:(强烈不推荐,要被骂)无视,直接commit自己的代码。 git commit -m "your msg" 第二种:stash(强烈推荐方式) stash翻译为“隐藏”,如下操作: git stash git pull git stash pop 然后diff一下文件,看看自动合并的情况,并作出需…

使用pycharm编写python爬虫时出现乱码的解决方案UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\U0001f601‘ in

一杯茶,一首歌,一个bug改一天。 今天在学习python多线程时,遇到的了乱码的情况,让我们先看一看是什么情况的吧 在这样一段代码中: response requests.get(url_queue.get(), headersheaders) info response.text pri…

signature=e7411d00c74ac359f20083a015dc6ea9,MS12-020:遠端桌面的弱點可能會允許遠端程式碼執行:2012 年 3 月 13 日...

Publisher 檔名 Sha1 SHA2 windowsxp-kb2621440-x86-ara.exe 632DF74CDC725EFD6A48AEE5AD77548335E8FF18 6A43662B5E10937A5773051E73295872E5896FCC087D232BBDF1710C6F856403 windowsxp-kb2621440-x86-chs.exe B4EABFFDF2F41421FFCA17BE174B84D3119DA93A 3E81F24F2B926EAA6E5E…

安装配置docker

本文是在Centos7环境下安装docker,讲三部分:安装docker、创建容器、docker常用命令 一. 安装docker 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查…

linear-gradient的用法详解

文章目录 一、介绍二、使用技巧2.1 方格背景2.2 棋盘效果 linear-gradient是css3的一个属性,功能强大,但是因为使用的灵活性,让没接触过的人感觉不好下手,下面来一起学习一下: 一、介绍 MDN介绍文档 linear-gradient …

Android 设备Id 唯一不重复,Redmi

1。(唯一)不重复类: package com.xxx.xxx.util;import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; import android.provider.Settings; import android.telephony.TelephonyManager;impor…

linux搭建pptp脚本,Linux搭建PPtp

先查看mppe模块是否加载:lsmod| grep -i ppp 如果有 ppp_mppe 39881 2 ppp_generic 62561 8 ppp_synctty,ppp_async,ppp_deflate,ppp_mppe 说明模块加载成功 然后安装pptp,编译./configure –prefix=/usr/local/pptpd;make;make install 先在/usr/local/pptp目录建etc目录 之后…