如何从Instagram Webhook响应中获取Reel原始URL
获取Instagram分享Reel的原始URL
用户通过Instagram聊天向企业号分享Reel时,Webhook收到的是CDN中转URL(如你提供的lookaside.fbsbx.com链接),要获取Reel的原始URL,可通过以下方法实现:
解决方法:通过Instagram Graph API查询媒体详情
Webhook payload里的CDN URL包含asset_id参数,这个就是该Reel的Instagram媒体ID,通过Graph API查询该ID的详情即可拿到原始链接。
具体步骤:
- 提取媒体ID:从Webhook返回的
attachments[0].payload.url中解析出asset_id值,比如你提供的payload里的18109567273171822。 - 调用Graph API:发送GET请求到以下地址:
替换GET https://graph.facebook.com/v21.0/{asset_id}?fields=permalink&access_token=YOUR_ACCESS_TOKEN{asset_id}为提取到的媒体ID,YOUR_ACCESS_TOKEN为你的Instagram Graph API访问令牌(需具备instagram_basic或关联页面的权限)。 - 获取原始URL:API响应会返回包含
permalink字段的JSON,该字段就是Reel的原始Instagram URL(格式类似https://www.instagram.com/reel/XXXXXX/)。
示例响应:
{ "permalink": "https://www.instagram.com/reel/ABC123XYZ/", "id": "18109567273171822" }
注意点
- 确保访问令牌有效且拥有对应权限:需要关联企业号的Facebook页面权限,以及
instagram_basic权限。 asset_id对应Instagram上的永久媒体资源,只要Reel未被删除,就能通过该ID查询到详情。
内容的提问来源于stack exchange,提问作者deepak
相关产品推荐
相关产品推荐

