如何通过Instagram Graph API获取收件箱分享的帖子/故事链接?
解决Instagram Graph API获取分享帖子/故事原生链接的问题
核心限制说明
当前Instagram Graph API(v18.0及现有版本)并不直接支持获取收件箱内分享的帖子/故事的原生跳转链接。Meta对这类分享内容的权限做了限制,仅允许获取媒体资源(图片/视频)的直接访问链接,而非你在Instagram应用里复制的那种原生帖子/故事链接。
可行的替代方案
虽然拿不到原生链接,但可以通过以下方式间接实现类似需求:
- 用媒体ID构造链接:如果能从webhook或接口响应里拿到分享内容的媒体ID(比如图片/视频的
id字段),可以手动构造对应的帖子/故事链接:- 普通帖子链接格式:
https://www.instagram.com/p/{媒体ID}/ - 故事链接格式:
https://www.instagram.com/stories/{目标用户名}/{媒体ID}/
需要提前获取接收消息的Instagram账号用户名,可调用GET /v18.0/{instagram-account-id}?fields=username接口获取
- 普通帖子链接格式:
- 检查权限是否齐全:确认你的应用已经申请并获批
instagram_basic、pages_messaging和instagram_manage_messages这几个权限,缺少权限会导致attachments和shares字段返回空值。 - 尝试请求
shareable_link字段:调用GET /v18.0/{message-id}时,除了attachments和shares,额外加上shareable_link字段试试,部分场景下该字段会返回可跳转的分享链接(不过不是所有分享内容都支持这个字段)。示例请求:GET /v18.0/{message-id}?fields=attachments,shares,shareable_link
注意事项
- 构造出来的链接能不能正常访问,取决于原帖子/故事的隐私设置,如果原内容是私密账号发布的,非关注者无法打开。
- Meta的API权限和返回字段可能会随版本更新调整,记得定期留意官方文档的变更。
内容的提问来源于stack exchange,提问作者Nathan DeGoey
相关产品推荐
相关产品推荐

