A-A+

微信公众号开发出现 errcode:48001 的错误

2016年12月13日 PHP技术文章 评论 2 条 阅读 5 views 次

今天在做个人订阅号开发菜单的时候,竟然提出如下的错误:

string(69) "{"errcode":48001,"errmsg":"api unauthorized hint: [_DegOA0418vr32!]"}"

这是完整的代码,而我的 menu.php 代码为如下:

  1. <?php  
  2. $appid = "xxx";  
  3. $appsecret = "xxx";  
  4. $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";  
  5.   
  6. $output = https_request($url);  
  7. $jsoninfo = json_decode($output, true);  
  8.   
  9. $access_token = $jsoninfo["access_token"];  
  10.   
  11.   
  12. $jsonmenu = '{  
  13.       "button":[  
  14.       {  
  15.             "name":"天气预报",  
  16.            "sub_button":[  
  17.             {  
  18.                "type":"click",  
  19.                "name":"北京天气",  
  20.                "key":"天气北京"  
  21.             },//xiariboke.net  
  22.             {  
  23.                "type":"click",  
  24.                "name":"上海天气",  
  25.                "key":"天气上海"  
  26.             },  
  27.             {  
  28.                "type":"click",  
  29.                "name":"广州天气",  
  30.                "key":"天气广州"  
  31.             },  
  32.             {  
  33.                "type":"click",  
  34.                "name":"深圳天气",  
  35.                "key":"天气深圳"  
  36.             },  
  37.             {  
  38.                 "type":"view",  
  39.                 "name":"本地天气",  
  40.                 "url":"http://m.hao123.com/a/tianqi"  
  41.             }]  
  42.         
  43.   
  44.        },  
  45.        {  
  46.            "name":"夏日工作室",  
  47.            "sub_button":[  
  48.             {  
  49.                "type":"click",  
  50.                "name":"公司简介",  
  51.                "key":"company"  
  52.             },  
  53.             {  
  54.                "type":"click",  
  55.                "name":"趣味游戏",  
  56.                "key":"游戏"  
  57.             },  
  58.             {  
  59.                 "type":"click",  
  60.                 "name":"讲个笑话",  
  61.                 "key":"笑话"  
  62.             }]  
  63.          
  64.   
  65.        }]  
  66.  }';  
  67.   
  68.   
  69. $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;  
  70. $result = https_request($url$jsonmenu);  
  71. var_dump($result);  
  72.   
  73. function https_request($url,$data = null){  
  74.     $curl = curl_init();  
  75.     curl_setopt($curl, CURLOPT_URL, $url);  
  76.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);  
  77.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);  
  78.     if (!emptyempty($data)){  
  79.         curl_setopt($curl, CURLOPT_POST, 1);  
  80.         curl_setopt($curl, CURLOPT_POSTFIELDS, $data);  
  81.     }  
  82.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
  83.     $output = curl_exec($curl);  
  84.     curl_close($curl);  
  85.     return $output;  
  86. }  
  87.   
  88. ?>  

注意本文所定义的 $appid 和 $appsecret,要替换成为自己的,网上的一个比较出名的 menu 菜单项目,在提交到服务端之后,向微信服务端发送信息,结果就出现了本文刚开始的错误,然后就使用微信公众号调试工具去调试,https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=自定义菜单&form=自定义菜单创建接口%20/menu/create,返回的结果为如下:

  1. Connection: keep-alive  
  2. Date: Tue, 13 Dec 2016 06:18:39 GMT  
  3. Content-Type: application/json; encoding=utf-8  
  4. Content-Length: 69  
  5. {  
  6.     "errcode": 48001,   
  7.     "errmsg""api unauthorized hint: [NiAsia0919vr43!]"  
  8. }  

然后提示为:Unauthorized API function

正好跟直接提交 menu.php 文件一致了,很明显应该是微信公众平台未获取 API 权限的问题了,既然有了错误码,直接顺着错误码找一下不就可以了麽,打开微信公众号全局返回码网址查找 48001 的提示码,网址为 http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html。

然后查找:48001,OK,这里有说明:api功能未授权,请确认公众号已获得该接口,可以在公众平台官网-开发者中心页中查看接口权限。

看来还真的是接口权限的问题了,夏日博客赶紧到开发者中心去查看接口权限,原来我的订阅号,是没有开放菜单功能开发权限的,如果你也遇到这个问题,可以先检查一下自己的接口权限,在微信公众号开发》开发》接口权限》界面丰富》自定义菜单,后面显示未获取,就是没有权限了,这里还有说明:获得条件:订阅号必须通过微信认证,服务号自动获得。

既然可以认证,哪就赶紧点击认证吧,结果,到认证页面,又提示如下说明了:

暂不支持个人类型的公众帐号申请微信认证。

好吧,原来个人订阅号是根本认证不了的,怪不得哪么多的订阅号没有菜单选项,如果想要添加公众号菜单的话,看来也只有搞个服务号了,看个人订阅号的权限接口,满满的全是未获得,权限限制太大了,连个微信支付都做不了,我也是醉了。。。

2 条留言  访客:2 条  博主:0 条

  1. 云落

    本来先做个判断关注公众号,然后干点什么的,特码到最后一步居然是没权限,和你差不多的,全是未获得,弃坑了,百度搜索做个问题,顺便路过的,留点什么的。。。。

  2. rfff

    fsaf.cc 😆 :mrgreen: 汉字

给我留言