关于微信公众号开发,微信带参数的二维码,是否只能先下载再上传

2019-01-17 09:13:55 +08:00
 CharlieBrown
业务场景:
用户在微信公众号回复“我的二维码”,公众号返回一张用户的专属二维码图


微信生成的二维码先是获得一个 ticket,然后用 ticket 去另一个接口请求,下载二维码

而要回复图片,是需要一个 media_id,这个 media_id 是需将本地图片上传获得的

也就是说要回复用户二维码图,需要先下载,再上传,这样感觉很繁琐,

请问开发过微信公众号的各位,有没有其他解决方案,例如生成二维码时直接获得一个 media_id,再传回去
2246 次点击
所在节点    问与答
27 条回复
win7pro
2019-01-17 19:33:54 +08:00
@CharlieBrown 对不起,我写错了,是 https:/ /mp.weixin.扣扣.com/cgi-bin/showqrcode?ticket=TICKET 这个格式本来就可以让用户打开一个图片
CharlieBrown
2019-01-18 09:13:11 +08:00
@win7pro 确实这个 url 打开是二维码图,不知道微信有没有提供 url,返回 media_id 的接口(好像没看到)

至于你说的图文消息指向二维码 url,其实图文消息对应的也是一个 media_id 吧,

为了好看,我想老板肯定要直接回复二维码图的,

至于你说的直接回复二维码 url,我想可以用作直接回复 ‘二维码图’ 导致服务端压力太大的一种解决方案

第一次写服务端,按微信开发文档写的,我也不知道我的代码能支持多少人同时访问,所以才想方设法精简服务端操作
win7pro
2019-01-18 09:22:33 +08:00
@CharlieBrown 公众号支持直接给用户推送一条图文,图文的标题,描述,配图,以及该图文点击后跳转到什么 url,都是自定义的,不需要提前上传到公众号素材。你可以给用户推送的图文标题行型如“点击查看二维码”,然后图文的跳转 url 到前面提到的二维码图片 url 上,这样用户点击图文后就能打开一个二维码图,长按就可以识别了。
CharlieBrown
2019-01-18 10:51:09 +08:00
@win7pro 完美实现,非常感谢!

不过有个小问题,这个图文消息的缩略图(概述图),他是直接用的 url,

我用的是 https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token={} 这个接口,返回的是图片的 url,

只是不知道这个接口返回的 url 是否有有效期(开发文档没看到),

如果有有效期的话,就得每隔 n 天上传一次,然后记录;或者不使用图了
win7pro
2019-01-18 13:42:28 +08:00
@CharlieBrown 不客气。有效期要看你的二维码类型,如果是永久二维码,那这个 ticket 也是永久的,但限制一个公众号只能 10w 个。如果是临时二维码,ticket 就和临时二维码生成时候设置的有效期有关,最长 30 天,但数量无限。如果你确实需要一个长期能访问的二维码图片连接但二维码图片内容能更新,那就自己用动态语言写一个后台动态加载二维码图片后显示出来的地址作为图片地址,然后自己维护这个二维码图片的生命周期。
CharlieBrown
2019-01-18 14:30:11 +08:00
@win7pro 不不不,我的意思是:图文消息有一个缩略图 picUrl,

这个 url 我用的是 https://api.weixin.扣扣.com/cgi-bin/media/uploadimg?access_token={} 这个接口,返回的是图片的 url,不知道这个接口有没有有效期

<xml>
<ToUserName>< ![CDATA[toUser] ]></ToUserName>
<FromUserName>< ![CDATA[fromUser] ]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType>< ![CDATA[news] ]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title>< ![CDATA[title1] ]></Title>
<Description>< ![CDATA[description1] ]></Description>
<PicUrl>< ![CDATA[picurl] ]></PicUrl>-----------------------------------------------------这个缩略图
<Url>< ![CDATA[url] ]></Url>---------------------------------------------------------------二维码图片
</item>
</Articles>
</xml>
lizuoqiang
2019-06-05 11:56:54 +08:00
最近上传素材报错, 'errcode' => 41005,
'errmsg' => 'media data missing hint: [69jZ2a09762161]',

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/527776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX