如何快速判断指定Twitter推文是否含视频?oEmbed API无效求方案
快速判断推文是否包含视频的最佳实现方案
嘿,针对你想快速判断推文是否包含视频的需求,我推荐用Twitter API v2的推文详情端点,这比你之前尝试的oEmbed靠谱多了——毕竟oEmbed确实没法直接返回媒体类型的精准信息。下面是具体步骤:
实现步骤
第一步:准备开发者权限
先注册一个Twitter开发者账号,获取你的Bearer Token(免费层级的账号就足够用这个端点了,这是调用API的身份凭证)。第二步:调用推文详情API
构造请求时要指定两个关键参数,用来精准获取媒体类型信息:expansions=attachments.media_keys:关联推文的媒体附件media.fields=type:要求API返回媒体的类型
示例请求格式(替换成你要查询的推文ID即可):
GET https://api.twitter.com/2/tweets/[目标推文ID]?expansions=attachments.media_keys&media.fields=type第三步:解析返回结果
查看返回JSON里的includes.media数组:- 如果数组中存在
type值为video的条目,说明这条推文包含视频; - 如果只有
photo类型,就是纯图片推文;如果是animated_gif,那是Twitter动图(如果你的需求里把动图也算作视频类,可以一并判断)。
- 如果数组中存在
为什么不推荐oEmbed?
你之前尝试的oEmbed API核心是生成嵌入代码,返回的信息里最多只有缩略图URL或者嵌入HTML,没法直接提取出媒体类型的明确标识,用来判断视频并不准确。而Twitter API v2的媒体字段是专门用来获取这类精准元数据的,可靠性高得多。
内容的提问来源于stack exchange,提问作者byInduction
相关产品推荐
相关产品推荐

