Streamlit.app链接在WhatsApp和Messenger显示NOT FOUND问题求助
解决Streamlit.app链接在WhatsApp/Messenger显示“NOT FOUND”的问题
这个问题的核心是社交平台的链接预览爬虫未能正确获取你的Streamlit应用页面元数据,或访问被限制,导致返回错误状态,最终显示“NOT FOUND”。以下是针对性的解决步骤:
1. 手动注入完整的社交平台元数据
仅通过Streamlit右上角菜单配置不足以覆盖所有社交平台的识别规则,需要在home.py中直接添加Open Graph(OG)和Twitter Card元标签,这是社交平台识别预览信息的核心依据。在导入语句后插入以下代码:
import streamlit as st # 注入自定义HTML元数据 st.markdown(""" <head> <meta property="og:title" content="你的应用名称" /> <meta property="og:description" content="你的应用功能描述" /> <meta property="og:url" content="https://lineofsite.streamlit.app/" /> <meta property="og:type" content="website" /> <!-- 可选:添加公开可访问的预览图,提升预览效果 --> <meta property="og:image" content="https://你的公开图片地址" /> <meta name="twitter:card" content="summary_large_image" /> </head> """, unsafe_allow_html=True)
注意替换代码中的content内容,预览图必须使用全网可访问的公共链接,不能是本地文件或私有存储的图片。
2. 确认应用访问权限为公开
进入Streamlit应用右上角的省略号菜单,选择Settings > Sharing,确保应用设置为「Public」(公开访问)。若设置为「Private」或「Unlisted」,社交平台的爬虫无法访问页面内容,必然导致预览失败。
3. 刷新社交平台的链接缓存
社交平台会缓存链接预览信息,即使你修复了元数据,旧缓存可能依然生效:
- WhatsApp:发送链接时可添加随机参数(如
https://lineofsite.streamlit.app/?v=1),绕过缓存;或等待24小时左右,平台会自动更新缓存。 - Messenger:使用Facebook官方的共享调试工具提交链接,强制刷新平台的预览缓存。
4. 验证元数据是否成功注入
用浏览器打开你的应用,右键选择「查看页面源代码」,检查<head>区域是否包含你添加的OG标签,确认元数据已正确加载。
内容的提问来源于stack exchange,提问作者StevoKeano
相关产品推荐
相关产品推荐

