微信开发遇到的错误汇总:

1. 错误代码40001

"errcode": 40001,   
"errmsg": "invalid credential, access_token is invalid or not latest hint: [iGyDwA0217vr35!]" 

这是因为你在某个地方再次去请求了一次access_token导致现在所使用的无效了,或者是这是一个缺字少母的access_token;

解决方式比较简单,再去请求一次就可以了,一定要保证所用的access_token是最近一次请求的.至于怎么保证,有兴趣的道友可以看看我这篇博客:存储access_token

我是因为缓存问题一直没刷新,清空缓存就没有问题了

2. 错误代码41001

缺少access_token. 在做创建自定义菜单的时候,一开始是在同一文件里面获取access_token,所以在文件头部写死了

define("ACCESS_TOKEN","8U6GaLhUMJEIX_Ohw2X5WxGZMrfHhJ53WZQPiuU_aqAmouvEwPHm_tTfwXLE78nB4rZVY9WAW9xuH6aIkAElBQfNITKoG45qs26bYugA5weVaSckVeZHpZCpPUHzEGZSXIJjADAEPQ");这是全局变量.
后来写活了,在另一个文件的函数获得access_token,以$access_token接收,

  1. //创建菜单
  2. function createMenu($data){
  3. $ch = curl_init();
  4. <span style="color:#ffffff;rgb(0, 0, 0);">curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token);</span>
  5. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  6. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  7. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  8. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  10. curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  11. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  13. $tmpInfo = curl_exec($ch);
  14. if (curl_errno($ch)) {
  15. return curl_error($ch);
  16. }
  17. curl_close($ch);
  18. return $tmpInfo;
  19. }
//创建菜单
function createMenu($data){
$ch = curl_init();
<span style="color:#ffffff;">curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token);</span>
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
if (curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $tmpInfo;
}

这是我自己本身的一个问题,$access_token作为一个局部变量是不可以在函数里面使用的,所以传参就好了,

  1. $url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;将$url作为<pre name="code" class="html">createMenu($url,$data)的参数就ok.
 $url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;将$url作为<pre name="code" class="html">createMenu($url,$data)的参数就ok.

3.错误代码42001

  1. "errcode": 42001,
  2. "errmsg": "access_token expired hint: [Tji9sA0167rsz5!]"
    "errcode": 42001,
"errmsg": "access_token expired hint: [Tji9sA0167rsz5!]"

access_token是有时限的(目前为7200s,也就是2小时),这个错误是access_token超时了,重新获取就是了.

4.Error source: interface call,这是接口请求到达上限的错误,不知道什么原因.我那次就出现这个问题了,我个人觉得是腾讯的问题,我根本就没有用那么多,请求个access_Token而已,最后向腾讯微信公众平台反馈了,现在还没鸟我,第二天就可以使用的了,这应该是个bug......出现了就等第二天吧.

目前微信开发的学习还比较初级,暂记这几个问题.另附微信开发返回码对应表与接口请求上限表:http://www.slovty.cn/source/wxerror.html

微信开发获取media_id错误码汇总的更多相关文章

  1. 转:微信开发获取地理位置实例(java,非常详细,附工程源码)

    微信开发获取地理位置实例(java,非常详细,附工程源码)   在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一 ...

  2. 微信开发获取地理位置实例(java,非常详细,附工程源码)

    在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一些必要的配置,以及如何调用微信接口. 2.微信开发之通过代理调试 ...

  3. 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  4. MVC 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  5. nodejs微信开发获取token,ticket-1

    /* jshint -W079 */ /* jshint -W020 */ "use strict"; var _ = require("lodash"); v ...

  6. 微信开发 获取AccessToken

    获取AccessToken的方法 public static Access_token GetAccessToken() { string formatString = String.Format(& ...

  7. ASP微信开发获取用户经纬度

    wx.config({ //debug: true, debug: true, appId: '<%= appId %>', timestamp: '<%= timestamp %& ...

  8. 微信开发 获取用户openId 与路由控制

    w实践,满足当前需求. www.w.com www.w.com/w1.php $wxurl='https://open.weixin.qq.com/connect/oauth2/authorize?a ...

  9. HTTP错误码汇总(转)

    响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行.响应码分五种类型,由它们的第一位数字表示:1.1xx:信息,请求收到,继续处理2.2xx:成功,行为被成功地接受.理解和采纳3 ...

随机推荐

  1. Mycat 配置

    前言 Mycat 是一个数据库分库分表中间件 MyCAT 是作为通用代理设计的,后端是以 Mysql协议 和 JDBC 的方式连接数据库,可以支持 Oracle.DB2.SQL Server . mo ...

  2. [转载]解决sudo: sorry, you must have a tty to run sudo

    前几天遇到一个问题,在一个终端中调用另一个shell,始终是无法执行的,后来捕捉到报错信息为sudo: sorry, you must have a tty to run sudo,后来,在网上了解到 ...

  3. 自定义MVC框架---第二章

    模型层的封装 模型层封装的原则 介绍: 模型层,也就是Model这一层,用来封装对数据库操作的封装 由于现在主流的编程思想还是OOP面向对象编程,也就是说项目的基本单位就是一个一个类文件,那么如何使用 ...

  4. mysql数据库表结构与表约束

    表结构操作: 添加单列:alter table tb_name add [column] col_name 添加一列: alter table `sudty` add `aaa` int; 添加多列: ...

  5. C陷阱:求数组长度

    // 这是一篇导入进来的旧博客,可能有时效性问题. 程序中,当我们建立了一个int型数组:int a[]={1,2,3,4,5,6};随后我们可能需要知道它的长度,此时可以用这种方法:length = ...

  6. Nginx+Tomcat实现负载均衡小demo

    一.搭建Tomcat服务 下载安装JDK和Tomcat就不说了,太简单了.由于是win7单机环境测试,启动多个Tomcat服务可以通过在server.xml配置文件中修改端口实现.准备两个Tomcat ...

  7. POJ2407-Relatives-欧拉函数

    欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. 对于一个正整数N的素数幂分解N=P1^q1*P2^q2*...*Pn^qn. Euler函数表达通式:euler(x)=x(1 ...

  8. 转:C++与JAVA语言区别

    转自:http://club.topsage.com/thread-265349-1-1.html Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同: (1)Java比C++程 ...

  9. STM32小结

    1.GPIO 电灯 推挽输出 PB5 2.GPIO 按键 浮空输入 PA0 3.写IO高电平 HAL_GPIO_WritePin(GPIOB,GPIO_Pin_5,1); 4.读取IO电平 HAL_G ...

  10. Hibernate查询对象的方法浅析

    Hibernate 查询对象是根据对象的id查询的,只要你有id (id唯一),则无论你是否其他字段与传过来的对象一致,都会查到该id在数据库对应的对象.若是在关联查询中,所关联表的id为空,即所查表 ...