腾讯移动分析MTA统计API报90004(api request num out of limit)错误的分析

使用腾讯移动分析统计API将近三年了,最近因为申请的账号数量猛增,调用用户画像相关的接口时报90004错误。笔者在官方文档中并未找到相关解释,于是做实验尝试解决这个问题。

注: 几个月前mta的接口从http升级到了https,http方式的请求已经无效。

接口地址为:
https://mta.qq.com/h5/api/ctr_user_portrait
报错信息如下:

{"code":90004,"info":"api request num out of limit","data":[]}

从报错信息的info来看,可能是触发了API调用次数限制,刚开始是猜测每天限制多少次。但是很快就发现不是的,每过几分钟时间接口又可以正常返回。
进而猜测腾讯服务端对单一IP地址的请求作了限流处理,于是进行了连续2000次的接口调用测试,一旦返回90004则休眠1分钟后继续。

测试结果:平均请求200多次会触发一次90004,休眠1分钟后能够继续返回0(成功)。如果休眠时间设置更短,比如20s,则很有可能会连续休眠2-3次之后才能继续。

笔者的最终解决方案:
1 优化调用代码,针对同一个AppId避免重复调用接口,减少无效调用的次数。
2 针对返回码90004作处理,一旦返回90004则Thread.sleep(60*1000),即休眠60秒后重新发起请求。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值