如何在 Twitter API 上启用增强的 URL 扩充?

Joã*_*ndo 5 twitter twitter4j

我正在创建一个使用 twitter api 的应用程序。我正在检索推文并向用户展示。

在某些情况下,推文有链接,如下图所示。在此处输入图片说明

阅读 twitter 的 api 文档,我发现了一个叫做“增强的 URL 丰富”的东西,其中包括链接元数据,包含图像 url、标题、描述。

查看我想得到的回复示例

{
   "urls": [
      {
        "url": "https://exampleurl.com/D0n7a53c2l",
        "expanded_url": "http://exampleurl.com/18gECvy",
        "display_url": "exampleurl.com/18gECvy",
        "unwound": {
          "url": "https://www.youtube.com/watch?v=oHg5SJYRHA0",
          "status": 200,
          "title": "RickRoll'D",
          "description": "http://www.facebook.com/rickroll548 As long as trolls are still trolling, the Rick will never stop rolling."
        },
        "indices": [
          62,
          85
        ]
      }
    ]
}
Run Code Online (Sandbox Code Playgroud)

注意对象展开它包含正是我需要的。 您可以在此处的文档中找到上述回复:

以及更多关于增强 URL 丰富的信息在这里

我正在通过端点GET statuses/user_timeline 检索推文

这是我用Twitter4j检索推文的代码

final ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(Constant.getConsumerKeyTwitter());
cb.setOAuthConsumerSecret(Constant.getConsumerSecretTwitter());
cb.setOAuthAccessToken(tokenUser);
cb.setOAuthAccessTokenSecret(secretTokenUser);
cb.setTweetModeExtended(true);

Twitter twitter = new TwitterFactory(cb.build()).getInstance();

List<Status> statuses =  twitter.getUserTimeline(userIDToGetTweets);
Run Code Online (Sandbox Code Playgroud)

使用此代码,我无法接收unwound对象。

您知道我如何启用增强型 URL 扩充以接收展开的对象吗?

Ter*_*den 7

可悲的是,这仅适用于付费客户。

高级扩充是包含在某些数据 API 的响应负载中的附加元数据。它们仅在付费订阅计划中可用。

https://developer.twitter.com/en/docs/tweets/enrichments/overview

因此,您需要获得高级 API 订阅才能获得丰富内容。对不起。