V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
purejoy
V2EX  ›  问与答

微信公众平台上传素材遇到的问题

  •  
  •   purejoy · 2016-03-30 17:33:23 +08:00 · 5678 次点击
    这是一个创建于 3149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近写了图片相关的应用放在 SAE 上,应用的逻辑简单的说就是生成满足用户特定要求的图片,然后直接以图片消息的形式发送给用户微信。我的应用中,首次生成图片后会同时依据图片的特征参数生成一个唯一的 KEY ,与调用上传永久素材接口后得到的 mediaid 组成一个键值对存入数据库,如果上传永久素材出错,则尝试调用上传临时素材的接口得到一个有效期较短的 mediaid (文档说是 3 天),最后利用获得的 mediaid 和用户 openid 把图片用客服消息接口发给用户,定期清理数据库和微信永久素材库,保留最新的调用频次高的图片。

    前两天用的都很正常,昨晚发现上传素材时老是报错,没太在意,今天早上我试了下又好了,就以为是服务器的问题。今天下午又出错,查了下发现错误代码是: 41005,media data missing,又单独测试了上传临时素材接口发现没问题,接着测上传永久素材接口,报错: 45009,reach max api daily limit ,超过了每日上限,问题来了, 1.我微信端虽然暂时使用的是测试号,常见的接口都每日调用的上限好像更少,但我根本没调用多少次,我查了下测试号个人页面的介绍,调用上传永久素材接口的每日上限为 1000 ,临时素材为 5000 ,但我显然没有调用这么多次数,查了 sae 上的日志,今天一天应用访问次数也就 1 百多次,微信永久素材库上传的图片也就 40 张,就超过调用上限了。。。实在想不通,咨询客服也无果。 2.我上传临时素材的接口单独测试没有问题,为啥代码里如果在上传永久素材失败后,紧接着调用上传临时素材接口也会报错? 我现在只能临时把上传永久素材的代码全部去掉,全部使用临时接口,目前工作正常。还请各位有微信公众平台开发经验的朋友指点迷津,多谢!

    以下用 python 代码片段简要的描述下:

           (mediaid,errmsg) = wx.add_material(io) #45009 reach max api daily limit 
           if mediaid:
               value = "%s %s" %(mediaid,str(int(time.time())))
               kv.set(k,value)
              return (mediaid,errmsg)
         (mediaid,errmsg) = wx.upload_img(io) #41005,media data missing ,去掉上面的 add_material 则正常
         return (mediaid,errmsg)
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.