You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Instagram Business Discovery API后,如何通过媒体ID获取媒体URL?

解决Instagram Business Discovery API仅返回媒体ID的问题

嘿,我之前做项目的时候也碰到过一模一样的困扰,其实有两个直接的办法可以拿到媒体的实际内容URL,不用卡在媒体ID上:

1. 直接在Business Discovery请求中获取媒体URL

其实你完全不用先拿ID再二次请求——只需要在调用Business Discovery API时,指定嵌套的媒体字段,就能直接把媒体URL和ID一起返回。

比如你的请求参数里,fields可以这么写:

business_discovery.username(目标商家账号名){media.limit(5){media_url, id, caption, media_type}}

这样返回的media数组里,每个条目都会包含media_url字段,直接就是媒体的可访问链接,不管是图片、视频还是轮播内容都适用。

2. 用Media API通过媒体ID获取内容

如果已经拿到了媒体ID,也可以单独调用Instagram的Media API端点来获取详情:

  • 请求方法:GET
  • 端点:/{media-id}
  • 需要的权限:确保你的应用拥有instagram_basic、pages_show_list权限,并且使用对应Facebook页面的Access Token(不是用户个人Token)
  • 请求示例(带字段):
GET /{media-id}?fields=media_url,caption,media_type,children{media_url}

这里如果是轮播(carousel)类型的媒体,children字段会返回每一张子媒体的URL,其他类型直接取media_url即可。

注意事项

  • 权限审核:你的Facebook应用必须通过Meta的应用审核,拿到对应的权限,否则调用会返回权限不足的错误。
  • Token有效性:页面Access Token需要保持有效,建议用长期Token来避免频繁刷新的问题。
  • 媒体类型适配:视频类媒体的media_url是直接的视频文件链接,图片是图片链接,轮播需要遍历children数组获取每一项。

内容的提问来源于stack exchange,提问作者John Hayes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:08:10