开发者社区> 吞吞吐吐的> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Twitter Streaming API

简介:
+关注继续查看

在Facebook中有Real-time Updates,可以实时接受用户的更新,而在Twitter中有比其更强大的Streaming API,共有3种:Streaming API,User Streams,Site Streams,本文主要讨论前两个。基本思路是:连接Twitter Streams,创建一个长连接,不要关闭,然后Twitter会向此连接实时的发送更新,你要做的就是不断的从此连接中接受更新,然后处理之。使用Stream API当然要经过OAuth验证,这是必须滴。这点不同于Facebook(只需在请求中加上token参数即可),当然,有很多不错的Libary你可以使用,比如:Hammock, TweetSharp ,Twitterizer。

 

Streaming API

可以订阅Twitter上多个用户的更新,那些用户呢?可以有很多条件去过滤。Streaming API有多个方法:

1) statuses/filter

返回用户的状态更新通知,通过参数筛选用户

参数:count, delimited, follow, locations, track ,比如通过"follow=356,398”,可以订阅用户Id为356和398这两个用户的状态更新。

2) statuses/firehose

3) statuses/links

4) statuses/retweet

5) statuses/sample

这是一个示例,系统随机返回的一些更新,供你测试,且此接口可以不用Oauth验证,Basic验证即可。

返回的内容为JSON,且包括了状态更新的内容,如下:

 

复制代码
{"text":"pls tell me","in_reply_to_status_id":null,"truncated":false,"source":"\u003Ca href=\"http:\/\/seesmic.com\/seesmic_desktop\/sd2\" rel=\"nofollow\"\u003ESeesmic Desktop\u003C\/a\u003E","in_reply_to_user_id":null,"favorited":false,"entities":{"urls":[],"user_mentions":[],"hashtags":[]},"in_reply_to_screen_name":null,"in_reply_to_status_id_str":null,"id_str":"52910061479133184","place":null,"created_at":"Wed Mar 30 01:48:36 +0000 2011","contributors":null,"user":{"show_all_inline_media":false,"follow_request_sent":null,"geo_enabled":true,"notifications":null,"profile_sidebar_border_color":"C0DEED","contributors_enabled":false,"profile_image_url":"http:\/\/a1.twimg.com\/profile_images\/1093534248\/SIGN11431642_128x128_normal.jpg","profile_use_background_image":true,"statuses_count":39,"profile_background_color":"C0DEED","followers_count":4,"description":"programmer,tour,table tennis","screen_name":"jack_cai","listed_count":0,"verified":false,"profile_background_image_url":"http:\/\/a3.twimg.com\/a\/1299696992\/images\/themes\/theme1\/bg.png","location":"shenzhen","time_zone":"Hong Kong","profile_text_color":"333333","is_translator":false,"lang":"en","profile_sidebar_fill_color":"DDEEF6","protected":false,"id_str":"71195487","default_profile_image":false,"default_profile":true,"profile_background_tile":false,"created_at":"Thu Sep 03 07:10:38 +0000 2009","name":"Jack Cai","friends_count":13,"url":"http:\/\/chy710.cnblogs.com\/","id":71195487,"following":null,"utc_offset":28800,"favourites_count":0,"profile_link_color":"0084B4"},"retweeted":false,"id":52910061479133184,"in_reply_to_user_id_str":null,"coordinates":null,"geo":null,"retweet_count":0}

{
"delete":{"status":{"user_id_str":"71195487","id_str":"52910061479133184","id":52910061479133184,"user_id":71195487}}}
复制代码

 

User Streams

主要订阅当前用户相关的状态,跟随,收藏等信息的更新,连接创建后第一次收到的更新内容为该用户的朋友Id列表。

{"friends":[1497,169686021,790205,15211564,37784836,821958,14884312,92015003,822571,63846421...]}

后面收到的更新就是用户相关内容更新(同Streaming),如你或你的好友更新状态时,你跟随某人或有人跟随你时,你收藏一个消息或有人收藏了你的消息时。。等等,具体参加API。

 

本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2011/04/02/twitter_stream_api_dev.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Twitter广告平台的私有API
Promoted Tweets是Twitter的一个广告平台。本文作者是发现在Twitter官方的应用中并没有显示一些广告,而决定分析Twitter是不是做了什么手脚。
737 0
ASP.NET Core Web API 帮助页
ASP.NET Core Web API 帮助页
0 0
一文概览设计Web API 中的细节
一文概览设计Web API 中的细节
0 0
借助 Web Animations API 实现一个鼠标跟随偏移动画
借助 Web Animations API 实现一个鼠标跟随偏移动画
0 0
WebAPI学习(一)——创建Web API程序
WebAPI学习(一)——创建Web API程序
0 0
几种不常用Web API(振动、重力感应、联网状态、系统电量信息、页面可见性、canvas转base64、监听屏幕旋转、元素全屏显示)
navigator对象中有一些不常用的API,以下主要介绍vibrate振动,deviceorientation重力感应,online联网状态,getBattery系统电量信息,visibilitychange页面可见性,toDataURL(canvas转base64),orientationchange监听屏幕旋转和fullScreen元素全屏显示。
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载