【问题标题】:Which URL are you supposed to use for the twitter oEmbed API?您应该为 twitter oEmbed API 使用哪个 URL?
【发布时间】:2021-03-03 03:51:45
【问题描述】:

我正在尝试根据用户的搜索词嵌入推文。

我可以从 Twitter 的搜索 API 中检索推文,但是我在 twitter 的响应中返回的所有 URL 都与 oEmbed API 不兼容,因此我无法显示我收到的推文。

我将GET 发送到https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE},以下是我返回的所有网址:

display_url: "twitter.com/i/web/status/1…"
expanded_url: "https://twitter.com/i/web/status/1328842765115920384"
url: [shortened URL that Stack Overflow will not let me print]

但是,对于 oEmbed API,url 需要采用https://twitter.com/[username]/status/[id] 的格式。

谁能帮助我如何利用搜索 API,然后在屏幕上显示这些推文?

【问题讨论】:

    标签: javascript api twitter oembed


    【解决方案1】:

    这里重要的是你已经检索到截断的推文,并且你需要完整的推文才能获得正确的 URL。

    首先,将?tweet_mode=extended 添加到API 调用中。 API v1.1 中需要此参数才能检索超过 140 个字符的推文。

    GET https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE}&tweet_mode=extended

    完成此操作后,您将拥有完整的 Tweet 对象。但是,它不会包含指向自身的链接 - 您之前拥有该链接的唯一原因是您正在检索截断的推文,因此 API 返回了指向完整推文的链接。

    构造原始推文 URL 的方法是将推文 ID 与 Twitter 状态 URL 结合起来。您输入的用户名无关紧要,因为 Twitter 会根据 ID 解析。

    因此,在这种情况下,您的推文 ID 1328842765115920384,您可以将其附加到 https://twitter.com/twitter/status/ 以提供 https://twitter.com/twitter/status/1328842765115920384,这将自动解析为 https://twitter.com/Ashton5SOS/status/1328842765115920384

    将此 URL 传递给 publish.twitter.com oEmbed 端点。

    this DEV post有更多信息。

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 2023-04-02
      • 2019-10-23
      • 2013-02-22
      • 1970-01-01
      相关资源
      最近更新 更多