考虑使用以下命令检索 Twitter 用户的收藏夹列表:abraham/twitteroauth PHP 库 https://github.com/abraham/twitteroauth:
https://api.twitter.com/1.1/favorites/list.json
给定以下参数:
$params = array(
'screen_name' => $screenName,
'count' => $count,
'include_entities' => true,
);
尽管所有请求的推文实际上都在 Twitter 网站上显示/嵌入了照片,但相关的media
预计会在以下区域中找到的字段entities
父字段并不总是出现在 API 响应中。
这是一条推文 https://twitter.com/BlindTasters/status/798164229060722688其响应包括该字段,以及另一个 https://twitter.com/DamienPiq/status/798642953057013760谁的回应不包括它。你会发现各自的JSON
本要点中的回应:https://gist.github.com/davidloubere/8331a2b523772d99c669e1e720aa4afc https://gist.github.com/davidloubere/8331a2b523772d99c669e1e720aa4afc
有人对此有解释吗?
发生这种情况是因为 Twitter 最近宣布了 REST API 更改,引入了两种推文类型:
-
Classic Tweet
- Tweet 对象,其中文本的总长度
内容不超过140个字符
-
Extended Tweet
- 包含隐藏实体(例如前导 @mentions 和尾随附件)的 Tweet 对象,以及
文本内容长度超过 140 个字符。
他们还介绍了Compatibility
当您使用 Twitter REST API 时,这是默认模式。还有Extended
您应该明确设置。
引用来自文档https://dev.twitter.com/overview/api/upcoming-changes-to-tweets https://dev.twitter.com/overview/api/upcoming-changes-to-tweets:
“将有两种模式将 Tweet JSON 对象渲染到 API
客户端:兼容模式和扩展模式。兼容模式是
公共 REST 和 Streaming API 以及 Gnip 的默认模式
产品,旨在不破坏现有客户。
...现有文本字段将包含以下内容的截断版本
推文文本,后跟省略号字符、空格和
缩短的自永久链接 URL。 ...现有实体字段
(提及、网址、媒体等),将仅包含以下实体
完全包含在文本值中。”
所以,第一条推文是Classic
,第二个是Extended
当你获取它时它会被截断Compatibility mode
。您可以通过设置获得其完整版本tweet_mode=extended
在您的 Twitter REST API 调用中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)