gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 20:48:18 24 4
gpt4 key购买 nike

我已经按照这里的指南https://developers.facebook.com/docs/plugins/oembed/它有效。
我的问题是,如何动态获取我的帖子网址?所以我可以重复使用这个端点来获取我拥有的帖子数量
https://graph.facebook.com/v8.0/instagram_oembed?url={postUrl}&access_token={access_token}
文档显示的方式是将 url 硬编码到端点 url 中,这似乎是多余的

最佳答案

目前无法根据文档(或网络上的任何其他地方)使用 oEmbed API 获取 Instagram 个人资料的所有帖子 URL。您必须通过以下方式获取所有帖子短代码(链接):

  • https://www.instagram.com/{profile_handle}/?__a=1 发出 GET 请求.有一个非常严格这些天的速率限制,因此强烈建议第一次缓存结果,可能使用本地存储。
  • 如果配置文件是公开的,结果将是一个包含所有配置文件信息的 JSON 对象。您可以通过检查 [data].graphql.user.is_private 来检查请求配置文件是否公开。
  • 每个[data].graphql.user.edge_owner_to_timeline_media.edges.node ,获取 shortcode属性(property)。
  • 最后,创建您的动态帖子 URI https://www.instagram.com/p/{shortcode} .

  • 或者,您可以向 `https://www.instagram.com/{profile_handle} 发出 GET 请求,并使用正则表达式在 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]);
    这里的速率限制也很严格,所以使用一定要缓存。测试可能会很痛苦,因为当达到速率限制时,您可能需要多次更改 IP 地址。

    关于facebook-graph-api - 使用 Facebook Oembed 获取所有 Instagram 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64492690/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com