微信开发获取media_id错误码汇总
微信開發遇到的錯誤匯總:
1.錯誤代碼40001
"errcode":40001, "errmsg":"invalidcredential,access_tokenisinvalidornotlatesthint:[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接收,
//創建菜單
functioncreateMenu($data){
$ch=curl_init();
<spanstyle="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>
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;MSIE5.01;WindowsNT5.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)){
returncurl_error($ch);
}
curl_close($ch);
return$tmpInfo;
}
//創建菜單
function createMenu($data){
$ch = curl_init();
<span>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作為一個局部變量是不可以在函數里面使用的,所以傳參就好了,
[html] view plain copy
print?
$url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;將$url作為<prename="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
[html] view plain copy
print?
"errcode":42001,
"errmsg":"access_tokenexpiredhint:[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错误码汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis常用命令与特性
- 下一篇: 用Chrome(谷歌浏览器)对长网页(微