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

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


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

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

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

请问开发过微信公众号的各位,有没有其他解决方案,例如生成二维码时直接获得一个 media_id,再传回去
2244 次点击
所在节点    问与答
27 条回复
yangg
2019-01-17 09:24:39 +08:00
回复一个链接 不行吧,为啥要回复图片浪费流量,还麻烦的要识别
johnniang
2019-01-17 09:29:10 +08:00
这似乎是不可避免的。毕竟要回复图片给用户,就得上传素材至微信服务器,最后返回 media_id 给用户就能正常查看图片了。

我最近也做过相应的功能,不过多个一个生成海报功能。

最后还是建议添加一个事件菜单,让用户点击生成二维码比较友好。
GDC
2019-01-17 09:31:51 +08:00
把我的二维码做到菜单里,点击打开页面。

或者用户关注的时候,后台生成二维码并上传,记录对应的 media id,用户获取时直接回复 media id
CharlieBrown
2019-01-17 09:54:55 +08:00
@yangg 二维码看起来高大上啊,我有什么办法,我只是个打代码的啊 o(╥﹏╥)o
CharlieBrown
2019-01-17 09:57:30 +08:00
@johnniang 看文档好像是绕不开先下载二维码,后上传素材

我现在在考虑要不要生成永久二维码,保存在本地,这样用户再要他的二维码,就少去一步下载,只需上传到微信获得 media_id

这个功能是放在菜单点击生成的,感谢建议
CharlieBrown
2019-01-17 10:01:08 +08:00
@GDC 这个功能已经是放在菜单的,点击菜单的“我的二维码”,公众号回复:“二维码(图)”

提前生成二维码,这个想法也不错,不过我更想避免,先将二维码从微信那边下载,再上传给回微信,我觉得这个动作有点“蠢”
johnniang
2019-01-17 10:03:38 +08:00
@CharlieBrown 如果你担心处理时间过长,可以考虑先回复被动消息至用户,提示 ta 正在生成二维码,此前开启新的线程生成二维码,最后发送客服消息至用户。
phpcxy
2019-01-17 10:24:31 +08:00
先提前生成好一批二维码上传,用户申请就把这个二维码分配给他再回复咯~
CharlieBrown
2019-01-17 10:46:24 +08:00
@johnniang 刚刚看了客服消息的文档,应该能实现,这个想法也很棒,多谢了
CharlieBrown
2019-01-17 10:47:41 +08:00
@phpcxy 这个是带参数的二维码,带的是那个索要二维码的用户的 open_id,所以应该是不能提前生成的,再加上这个二维码是扫描然后进入微信公众号关注页,这个是通过微信提供的二维码
yao978318542
2019-01-17 11:02:31 +08:00
你都自问自答了
phpcxy
2019-01-17 11:24:52 +08:00
@CharlieBrown #10 提前调用微信 API 生成好 N 个二维码并且上传素材,把场景 ID 记录在数据库。用户申请后把场景 ID 与 open_id 绑定下
avenger
2019-01-17 12:08:16 +08:00
搭车问下,带参数二维码 10w 上限怎么破?
CharlieBrown
2019-01-17 13:43:26 +08:00
@phpcxy good idea
CharlieBrown
2019-01-17 13:44:22 +08:00
@avenger 永久的是 10w 上限,临时的好像没上限,突破 10w 应该是大微信号了,应该可以申请
CharlieBrown
2019-01-17 13:45:09 +08:00
@phpcxy 不过永久素材库有限量 5000,只能说是先下载好,然后等用户请求就上传
win7pro
2019-01-17 14:33:38 +08:00
回复图文,图文链接指向二维码图片 url,是否也 ok ?
CharlieBrown
2019-01-17 16:46:38 +08:00
@win7pro
没听懂你的意思,但二维码是微信生成的,只会返回 ticket 和 url (用于生成二维码) 和 一个二维码有效时间

凭借 ticket 到一个接口请求,下载图片

所以这个图片是一定要下载,

我提这个问题是想知道,是否微信有生成二维码的接口,直接返回一个 media_id 用于微信公众号回复图片,或者是否有类似的方法可以避开下载、上传这一步

而且回复图片是业务要求的,为了显得高大上,我只是个打代码的。。。
win7pro
2019-01-17 18:59:20 +08:00
@CharlieBrown 这个图片不需要下载,你下载图片的 url 本来就可以发给用户直接让用户打开。
win7pro
2019-01-17 19:13:35 +08:00
@CharlieBrown 可以用 http://weixin.qq.com/q/02SeBKZPGnf431hfN7xs1J 这样的格式来直接打开二维码

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

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

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

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

© 2021 V2EX