# 服务端 API 常见问题
- 为了减少出现调用服务端 API 错误,开发者应该使用正确的 token,应该认真阅读接口文档,按照接口文档的参数描述正确传参,以及还需认真阅读接口文档中的注意事项等。
- 本文将不定时更新服务端 API 常见问题的解决方案,开发者如遇到如下问题时可按照文档的描述自助排查解决.在完成自我排查和自我检索之后,仍然无法解决问题则可前往发帖处理。并且提问时,请先描述你已进行哪些排查以及排查的情况,这将有助于处理帖子的人员加速定位问题,也有助于建立你在社区的专业的印象。
关于发帖反馈的一些建议
1、服务端 API 类的报错问题,发帖时请提供接调用接口返回的rid
2、如果是调用接口没有报错,只是返回的结果有误或者有疑问。请提供相关的 appid、请求参数、请求时间、回包等信息。
4、关于发帖时的问题描述的建议:
- 请使用明确而有意义的题目,这有利于帖子被更及时地关注到
- 问题应明晰,漫无边际的问题会被标记为无效问题
- 请不要刻意标明问题紧急。如果是平台的故障则会被监控到且在及时处理中,请耐心等待即可
- 请不要重复发帖子。如果当时平台出现了故障影响了您的业务,确实也是着急的事情,也请不要重复发帖子,相关进展会在原帖子及时回复处理即可;如果没有及时回复则可能是尚在处理中,请耐心等待即可
- 请尽量不要私信发问题。因为如果您私信发给某个同学,那么私信则只有TA才能看到以及进行处理,当遇到该同学休假或者忙其他事情的时候,您的问题将会得不到及时的处理;建议还是在社区上发帖子,因为社区的帖子会被多个官方人员看到并处理,更加有利于您的问题的及时被解决
- 问题解决后追加一条简要说明。如果您的问题已经被解决了(个别情况是如涉及隐私信息会私信进行处理)请在原帖子上表述出来,这有助于帖子处理人员及时了解进展,以及这也将帮助其他人在搜索相关问题时能看到真正解决问题的方案,从而也让社区的人员受益。
# 1.如何确认微信后台接收的请求参数
当调用接口出现了例如“格式不对”、“缺少XX参数”等问题时,如果自认为传参正确且完整,但是接口依旧报错时,建议开发者可使用查询rid信息(该接口适用于小程序、小游戏、公众号、服务号、微信小店、带货助手、联盟带货机构、视频号助手、第三方平台、移动应用、网站应用等账号)接口,通过该接口可以清晰获知你当次的请求传到微信后台的参数情况。

# 2. 无权限调用接口(错误码:48001或6107)
和权限有关的报错常见的 errmsg 关键字为 api unauthorized 或 api is unauthorized,以及常见的错误码为 48001 和 61007,如遇到 48001 和 61007 报错问题,请按照下方指引进行自助排查。
# 48001
返回示例:{"errcode":48001,"errmsg":"api unauthorized, rid: xxx"}
出现48001错误的原因有两大类:
# 1、调用接口的时候token传错了。
- 通常是把公众号/服务号/小程序/小游戏/小店/小店带货助手/视频号助手等账号的 access_token、第三方平台的component_access_token、第三方平台的authorizer_access_token搞错了。
- 例如,某接口是小程序的接口,然后传了用公众号生成的 authorizer_access_token 或者 access_token;
- 例如某接口是小店的接口,然后传了用小程序生成的authorizer_access_token 或者 access_token;
- 所以出现 48001 错误的时候首先自查一下调用接口用的账号和接口的适用范围是否匹配的。
# 2、api 功能未授权,请确认公众号/服务号/小程序/小店/小店带货助手/视频号助手等账号已获得该接口权限。
- 如,有些接口只开放给已认证的账号,如果使用未认证的账号调用,则会返回没权限的提示;
- 如,有些功能接口需要在公众平台或者小店平台等控制台单独进行开通之后才获得调用权限的,所以需开发者自查当前调用的 API 是否属于这种情况
- 如果调用的 API 是只开放给第三方平台代公众号/服务号/小程序/小店/带货助手/视频号助手等账号调用的,那么公众号/服务号/小程序/小店/小店带货助手/视频号助手等账号本身是没有权限的,而如果第三方平台代调用时也返回了48001,那么则是公众号/服务号/小程序/小店/小店带货助手/视频号助手等账号尚未将对应的权限集授权给该第三方平台,需要在完成授权后调用。
# 61007
返回示例:{"errcode":61007,"errmsg":"api is unauthorized to component rid: xxxxx"}
出现61007错误的原因主要是:公众号/服务号/小程序/小店/小店带货助手/视频号助手等账号尚未将对应的权限集授权给第三方平台
1、服务商如何验证该公众号/服务号/小程序/小店/小店带货助手/视频号助手等账号是否已经将对应的权限集授予第三方平台?
可通过调用api_get_authorizer_info接口查询,返回的 func_info 中是否包含了对应的权限id.
2、如何查询调用的接口隶属于哪个权限集id?
可查阅权限集说明文档。以及在接口文档中通常也会写该接口所属的权限集id信息,如下图:

# 3. 无权限调用接口(错误码:61003)
返回示例:{"errcode":61003,"errmsg":"component is not authorized by this account, rid: xxxx"}
如【小程序登录】接口,当appid尚未授权给component_appid,就会出现61003报错。
服务商应该存一份授权账号信息(可通过调用api_get_authorizer_info接口查询),然后就可以知道调用接口传的 appid 是否在授权账号列表里。
# 4. reach max api daily quota limit(错误码:45009)
返回示例: {"errcode":45009,"errmsg":"reach max api daily quota limit rid: xxxxxx"}
- 出现该报错表示该账号调用当前接口的当前次数用完了。即,接口请求次数有限制的,开发者可调用getApiQuota接口获取接口每日调用次数。
- 如果出现该问题了,开发者可调用 clear_quota 进行清空(该接口同样适用于第三方平台代其调用)。
- 补充:clear_quota 接口的调用,可使用access_token、component_access_token和authorizer_access_token调用;请注意不要使用错误的token进行调用。
- 同时该clear_quota接口,也适用于用来清理获取access_token、component_access_token和authorizer_access_token的调用次数,使用其对应的token进行调用即可。
- 另外,如果是生成 token 的接口次数不够了,还可以通过 appid 和 secret 来重置调用次数,详情可查看使用AppSecret重置API调用次数
# 5. user limited(错误码:50002)
返回示例:{"errcode":50002,"errmsg":"user limited rid: xxxxxx"}
- 通常是该小程序/小游戏/公众号/服务号等账号被冻结了、注销了或者迁移了。可以自己使用手机扫该公众号/服务号或者小程序码进行验证即可。
- 此外,50007的错误码则是账号冻结了,详情可查看公众账号被系统冻结问题汇总
# 6. access clientip is not registered(错误码:61004)
返回示例:{"errcode":61004,"errmsg":"access clientip is not registered requestIP: 119.147.XX.170 rid: XXXXXXXX"}
出现此问题时,需要将“requestIP: 119.147.XX.170”中的 IP 地址添加到名单IP地址列表中。
如果是第三方平台调用的,则添加名单IP地址列表的路径为:微信开放平台 - 管理中心 - 第三方平台 - 详情 - 开发配置 - 开发资料
如果是公众号/服务号/带货助手调用,则添加名单IP地址列表的路径为:微信开发者平台 - 我的业务,然后点击公众号或者服务号或者带货助手进入详情页,然后前往「基础信息 - 开发信息」即可配置 API 白名单
如果是小程序/小游戏调用,则添加名单IP地址列表的路径为:微信公众平台 - 开发管理 - 开发设置
如果是微信小店调用,则添加名单IP地址列表的路径为:微信小店 - 服务市场 - 经营工具 - 自研
如果是视频号助手调用,则添加名单IP地址列表的路径为:视频号助手 - 直播 - 直播管理 - 开放能力 - 基础信息