是否有任何内置方法可以从Twitter RSS提要获取长的,扩展的URL?现在,Feed会将所有网址列为 http://t.co...
. 我也希望避免对Feed中的每个网址进行API调用或HTTP请求 . 理想情况下,我是唯一的方式,就这样吧 .
澄清
我对每个t.co链接单独请求或调用Twitter API不感兴趣 . 我希望有一个 single 请求我可以包含元数据中的长URL(甚至提供Twitter上显示的完整扩展形式的推文) . 事实证明这样做的方法是从search.twitter.com而不是RSS提要请求JSON版本,并在 include_entities=True
上添加 .
重写,希望这会让它更清晰
我正在使用http://search.twitter.com/search.rss来获取与搜索字词匹配的推文 . Feed仅包含缩短的t.co网址 . 有没有办法修改我的请求,以便推文包含扩展的URL?
目标是做 just one request ,而不是必须通过推文并分别解析每个t.co网址(特别是因为对于有几十个t.co网址的提要,这意味着几十个单独的请求) . 如果有必要,我愿意直接使用Twitter API进行搜索而不是使用RSS,但对于我的目的,使用feed更为理想 .
2 回答
不,Twitter在其RSS响应中不提供
urls
实体,include_entities
选项似乎也不起作用 . 您必须使用不同的响应格式,例如JSON(您可以使用包含entities['urls'][n]['expanded_url']
对象的include_entities选项),或事后自己使用"unshorten" .有一种方法可以在不直接使用Twitter API的情况下完成此操作 . 您可以使用多种资源中的一种,
http://expandurl.appspot.com/
API调用原型:
http://expandurl.appspot.com/expand?url=
http://longurl.org
API调用原型:
http://api.longurl.org/v2/expand?url=
http://unshort.me/
API调用原型:
http://api.unshort.me/?r=http://
当然,你可以直接使用Twitter API,就像Jordan提到的那样,通过包含
&include_entities=1
或true
作为某些调用的参数 .还尝试CURL URL,看看你可以从中找到什么信息 . 我认为这几乎耗尽了选择 .