api is unauthorized to component rid: 64928f26三方平台使用小程序订阅消息时报这个错误未授权权限集18

文章讲述了在使用第三方平台调用小程序订阅消息接口时遇到的授权问题。错误信息显示权限集id为18未被授权,此权限集涉及小程序的开发管理和数据分析。检查数据库中的授权返回信息发现缺少id:18的权限,导致接口调用失败。开发者应确保获取到必要的权限集以正确使用订阅消息功能。

api is unauthorized to component rid: 64928f26-04d003c7-6b15153f 三方平台使用小程序订阅消息时报这个错误未授权权限集18

小程序所有权限集的id键值索引:小程序权限集 | 微信开放文档

在这个页面找到这段内容:

开发管理与数据分析权限
权限集id:18;互斥权限集。

该权限主要进行小程序的代码开发管理,绑定体验者,模板消息,配置服务器信息,获取小程序数据等。为防止代码相互覆盖,此授权只能一个第三方平台。

我将三方平台授权接口返回的所有数据保存在数据库表中这个字段:

  `return_getAuthorizer` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci COMMENT '授权返回的完整信息',

这是一个完整的json串,其中的内容有这一段:

 

对应参考小程序官方文档:获取授权帐号详情 | 微信开放文档

func_info    object    授权给开发者的权限集列表

从图中看出,很明显,没有id:18这个权限,所以调用小程序订阅消息接口报错了。

相关示例:

第三方调用小程序订阅消息相关权限集的问题,id为89的权限集在公众号权限集中,小程序是否同样适用? | 微信开放社区

开始

结束

### 小程序接口调用返回48001 API Unauthorized 的解决方案 当小程序接口调用返回 `48001` 错误码时,表示API未授权。这通常是由于权限配置不当或认证信息不正确引起的。 #### 一、确认组件访问令牌的有效性 确保用于请求的 `component_access_token` 是有效的,并且是在有效期内获取到的。如果 `component_access_token` 过期,则需要重新申请新的令牌[^1]。 ```python import requests def get_component_access_token(app_id, app_secret): url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={app_id}&secret={app_secret}" response = requests.get(url).json() if "access_token" in response: return response["access_token"] else: raise Exception(f"Failed to fetch token: {response}") ``` #### 二、检查并设置正确的权限范围 对于特定的小程序功能模块,在调用其相关接口之前,需先通过管理后台授予相应的权限给第三方平台。具体操作路径如下: - 登录微信公众平台; - 导航至“开发者工具”—> “接口权限”页面; - 查找对应的功能项并勾选允许被代理方使用的选项; 此过程可能涉及到多个级别的审核流程,请耐心等待直至所有必要的审批完成后再尝试再次发起请求。 #### 三、验证票据推送服务状态 确保已经成功启用了票据推送服务,并能够正常接收到由微信服务器发送过来的消息。可以通过手动触发一次测试来检验当前的服务状况是否良好[^2]。 ```bash curl -X POST \ -H "Content-Type: application/json" \ -d '{"component_appid":"YOUR_APP_ID","component_secret":"YOUR_SECRET"}' \ 'https://api.weixin.qq.com/cgi-bin/component/api_start_push_ticket' ``` 以上措施有助于排查和修复因权限不足而导致的 `48001` 错误问题。建议按照上述方法逐一核查各项设置,直到找到根本原因并加以修正为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值