考虑使用abraham / twitteroauth PHP库检索Twitter用户的收藏夹列表的调用:
https://api.twitter.com/1.1/favorites/list.json
Run Code Online (Sandbox Code Playgroud)
给定以下参数:
$params = array(
'screen_name' => $screenName,
'count' => $count,
'include_entities' => true,
);
Run Code Online (Sandbox Code Playgroud)
尽管所有请求的推文实际上都在Twitter站点上显示/嵌入了一张照片,但media期望在entities父字段中找到的相关字段并不总是出现在API响应中。
这是一条鸣叫,其响应包括该字段,而另一条其响应不包括该字段。您将JSON在此要点中找到相应的响应:https : //gist.github.com/davidloubere/8331a2b523772d99c669e1e720aa4afc
有人对此有解释吗?
发生这种情况是因为最近Twitter宣布了REST API更改,引入了两种Tweets类型:
Classic Tweet-文本Extended Tweet-包含隐藏实体(例如,前导@提及和尾随附件)且他们还介绍了Compatibility使用Twitter REST API时默认的模式。还有Extended应该明确设置的地方。
引用位于https://dev.twitter.com/overview/api/upcoming-changes-to-tweets上的文档:
“将两种Tweet JSON对象呈现给API客户端的模式:兼容模式和扩展模式。兼容模式是公共REST和Streaming API和Gnip产品的默认模式,旨在不破坏现有客户端。现有的文本字段将包含Tweet文本的截断版本,后接省略号,空格和缩短的自永久链接URL ....现有的实体字段(提及,网址,媒体等)将只包含完全包含在文本值内的实体。”
因此,第一个Tweet为Classic,第二个为Tweet ,Extended当您在中获取它时会被截断Compatibility mode。您可以通过tweet_mode=extended在Twitter REST API调用中进行设置来获取其完整版本。
| 归档时间: |
|
| 查看次数: |
1395 次 |
| 最近记录: |