Facebook graph api 使用Facebook Oembed获取所有Instagram帖子

Facebook graph api 使用Facebook Oembed获取所有Instagram帖子,facebook-graph-api,instagram-api,oembed,Facebook Graph Api,Instagram Api,Oembed,我在这里遵循了指南,它是有效的 我的问题是,如何动态获取帖子URL?所以我可以重复使用这个端点来计算我的帖子数量 文档显示的方式是将url硬编码到端点url中,这似乎是多余的目前无法根据文档(或web上的任何其他地方)使用oEmbed API获取Instagram配置文件的所有post url。您必须通过以下方式获取所有post快捷码(链接): 对https://www.instagram.com/{profile\u handle}/?\u a=1。最近有一个非常严格的速率限制,因此强烈建议

我在这里遵循了指南,它是有效的

我的问题是,如何动态获取帖子URL?所以我可以重复使用这个端点来计算我的帖子数量


文档显示的方式是将url硬编码到端点url中,这似乎是多余的

目前无法根据文档(或web上的任何其他地方)使用oEmbed API获取Instagram配置文件的所有post url。您必须通过以下方式获取所有post快捷码(链接):

  • https://www.instagram.com/{profile\u handle}/?\u a=1
    。最近有一个非常严格的速率限制,因此强烈建议第一次缓存结果,可能是使用本地存储
  • 如果概要文件是公共的,那么结果将是一个包含所有概要文件信息的JSON对象。通过检查
    [data].graphql.user.is_private
  • 对于每个
    [data].graphql.user.edge\u owner\u to\u timeline\u media.edges.node
    ,获取
    shortcode
    属性
  • 最后,创建动态post URI
    https://www.instagram.com/p/{shortcode}
  • 或者,您也可以向`https://www.instagram.com/{profile_handle}并使用regex在HTML响应中获取包含概要文件数据的类似JSON对象,如下所示:

    const uri = `https://www.instagram.com/${handle}/`;
    const instaRes = await axios.get(uri);
    const html = instaRes.data;
    const regex = /_sharedData = (.*);<\/script>/m;
    const json = JSON.parse(regex.exec(html)[1]);
    
    const uri=`https://www.instagram.com/${handle}/`;
    const instaRes=等待axios.get(uri);
    const html=instaRes.data;
    常量正则表达式=/_sharedData=(*)/M
    const json=json.parse(regex.exec(html)[1]);
    

    这里的速率限制也很严格,所以请务必使用缓存。测试可能是一件痛苦的事情,因为当您达到速率限制时,您可能需要更改几次IP地址。

    不仅看起来是多余的,而且如果我必须知道所有post URL,我可以手动嵌入它们,这在当时是一样的。我也在寻找一些东西来使用oembed通过用户或标签或其他方式获取帖子