aiogram中用图片链接调用edit_media时JSON解析错误的技术问询
aiogram调用edit_media提示无法解析JSON对象的解决办法
问题根源
你直接把图片URL字符串传给了edit_media的media参数,但Telegram API和aiogram都要求这个参数必须是结构化的媒体对象,不能是纯链接字符串。需要用aiogram提供的InputMedia系列类包装图片链接,才能被正确序列化成符合要求的JSON对象。
修复代码
先导入对应的媒体类,再把图片链接包装后传入edit_media:
from aiogram.types import InputMediaPhoto # 替换原来的错误调用 await query.message.edit_media(media=InputMediaPhoto(media=item_info[3]))
如果你的媒体类型不是图片(比如文档、视频),对应换成InputMediaDocument、InputMediaVideo这类类即可。
注意事项
- 确保
item_info[3]是Telegram能正常访问的有效图片链接 - 如果需要给新图片添加说明,可在
InputMediaPhoto中传入caption参数;但如果你已经单独调用了edit_caption,这里无需重复传递,避免内容冲突
内容的提问来源于stack exchange,提问作者bio mayak
相关产品推荐
相关产品推荐

