通过REST API在Twitter上获取状态并不总是返回媒体URL

时间:2016-09-27 17:05:23

标签: twitter twitter-rest-api

我似乎无法将嵌入的URL置于状态,例如,在id = 780804331608109057 -

https://twitter.com/i/web/status/780804331608109057

当我通过GET /statuses/:id检索此内容时,include_entities设置为true,响应如下:

"text":"Here\u2019s WSJ \"An Underwhelming Trump-Clinton Debate\u201d trying to spin this as something other than a Clinton triumph\u2026 https:\/\/t.co\/dpkmphGI8k", "truncated":true, "entities": {"hashtags":[],"symbols":[],"user_mentions":[],"urls":
[{"url":"https:\/\/t.co\/dpkmphGI8k", "expanded_url":"https:\/\/twitter.com\/i\/web\/status\/780804331608109057", "display_url":"twitter.com\/i\/web\/status\/7\u2026","indices":[114,137]}]}, "source":"\u003ca href=\"https:\/\/about.twitter.com\/products\/tweetdeck\"rel=\"nofollow\"\u003eTweetDeck\u003c\/a\u003e",....

在我的网络客户端上查看时,状态会显示指向WSJ的链接(通过t.co引用)我希望在我的API响应中显示这些网址中的一个或两个:

  1. https://pbs.twimg.com/media/CtX5Sz8WIAAm4tq.jpg
  2. 什么是看起来像“t.co”的短网址,后跟“/ HJs4kbmTKz”(我必须打破这个,所以不要抱怨。)
  3. 我在这里做错了什么?

1 个答案:

答案 0 :(得分:6)

TwitterCommunity website的工作人员非常快速的回应是最令人满意的:

  

您需要将tweet_mode = extended用于新的更长的Tweet格式。

参考:https://twittercommunity.com/t/missing-media-property-in-entities/70388/4

搜索此新参数会在dev.twitter.com上生成相应的文档 - 此模式可能存在更多文档链接。最重要的更改似乎是密钥text不再用于非兼容模式 - 状态文本所在的位置,除非您打开兼容模式,您现在必须使用密钥full_text

https://dev.twitter.com/overview/api/upcoming-changes-to-tweets