你现在的位置:首页 > PHP开发 > twitter开发

twitter推特开发与服务

PHP网站建设工作室提供基于twitter api的开发等服务,竭诚为朋友们服务。


Twitter是 一个社交网络(Social Network Service)及微博客服务的网站,是全球互联网上访问量最大的十个网站之一。它利用无线网络,有线网络,通信技术,进行即时通讯,是微博客的典型应用。它允许用户将自己的最新动态和想法以短信形式发送给手机和个性化网站群,而不仅仅是发送给个人。

Twitter通过API的方式开放一些应用接口,可以使用twitter api来做twitter二次开发。

1. 推特开发简介
Twitter(中文称:推特)是国外的一个社交网络及微博客服务的网站。它利用无线网络,有线网络,通信技术,进行即时通讯,是微博客的典型应用。它允许用户将自己的最新动态和想法以短信形式发送给手机和个性化网站群,而不仅仅是发送给个人。

2. 特性
2.1 Follow

用户关系通过“FOLLOW”建立,分为Following与Follower两种,两种是关注与被关注的相对关系。

2.2 互动性强

Twitter不同用户之间的互动性非常强,更重要的是用户之间的信息交互非常便捷。

2.3 完全开放

Twitter是一个完全开放的信息平台,或者说一个完全开放的信息广播,来自世界各地的信息都可以在这里交流传播。

2.4 第三方开发群体

几乎所有的功能都提供API支持,有无数的客户端软件,支持多种手机操作系统。

2.5 绑定手机

Twitter捆绑手机,用户就可以不仅仅局限于通过PC端来发布信息,Twitter用户可以通过手机随时随地发布信息。

3. 多结果状态传输
Twitter API力求根据用户特定的请求返回对应特定格式的数据,Twitter API中有一个重要的便利之处,通过简单的更改URI中的文件后缀名,您可以获得您想要的返回结果的格式。

Twitter目前支持以下的四种数据返回格式:XML、JSON、RSS、Atom,您可以在每次请求时使用不同的请求方法指定不同的返回结果

4. OAuth授权
    Twitter现在只支持OAuth1.0授权,使用OAuth,Twitter应用无需知道用户的Twitter口令,只需要得到Twitter和用户双方的授权信息(其实就是Token)即可。这样,Twitter应用开发者就不知道用户的 Twitter口令,只能使用这个授权信息(Token)做有限的操作,无法修改用户的Twitter口令,也无法删除用户的Twitter账号。这在安全性上有了很大提高。

 

5. Rate Limiting
5.1 REST API Rate Limiting

       匿名调用每IP每小时请求上限为150次,包含不需认证的请求与认证的请求不需要认证的资源

       对于需要OAuth的请求上限为350次/小时。

       分为用户限制与IP限制。认证的请求为用户限制,非认证请求为IP限制。

       请求限制是对于GET请求,POST请求大多没有限制,但有些API有限制,具体需参考API documentation。

       特殊请求的限制:

1.        私信                                         250次/天

2.        发微博(包含转发)                  1000次/天

3.        更改Email设置                      4次/小时

4.        Follow用户数                         1000个/天,总数一般为2000,与粉丝数有关,参考:Follow Limits and Best Practices Page

       有些特性有特殊的限制,如user/search接口,两个限制中超出任何一个,则该请求会返回400错误。Search接口是对于IP,而不是用户。

5.2 对Rate Limiting的建议

对于独立的桌面应用,可以考虑采用User Streams,特点是实时性强,由Twitter Service将用户的信息推送至客户端。但对连接数有限制,应尽可能少。对于Service应用,可以考虑采用Site Streams,现在是处于测试期,未开放,但也有限制,每个连接的用户数不能超过100,每秒打开的连接数不能超过25,每个应用的连接数最好不超过1000,如超过1000,需与Twitter Platform Team联系。

其它建议:

       在本地缓存数据

       活动用户优先

       对查询结果的匹配

6. 基础数据接口
6.1 Timeline Resources

       statuses/public_timeline

       statuses/home_timeline

       statuses/user_timeline

       statuses/mentions

       statuses/retweeted_by_me(我转发)

       statuses/retweeted_to_me(我Follow的用户转发)

        statuses/retweets_of_me(我的被转发)

6.2 Tweets resources

       statuses/show/:id

       statuses/update

       statuses/destroy/:id

       statuses/retweet/:id

       statuses/retweets/:id

       statuses/:id/retweeted_by

       statuses/:id/retweeted_by/ids

6.3 User resources

       users/show

       users/lookup

       users/search

       users/suggestions

       users/suggestions/twitter

       users/profile_image/twitter

6.4 Trends resources

       trends

       trends/current

       trends/daily

       trends/weekly

       trends/available(关注此话题的地址)

       trends/:woeid

6.5 List resources(类似于群组)

       lists(用户创建的组)

       lists/memberships(返回指定的用户加入了的组,即Add to)

       lists/subscriptions(用户关注的组)

       lists/show

       lists/statuses

       lists/create

       lists/update

       lists/destroy

6.6 List Members resources

       lists/members(返回指定组中的用户)

       lists/members/show(查看用户是否在组内)

       lists/members/create(将指定用户加入到当前登录用户创建的组)

       lists/members/create_all(将指定的多个用户加入到当前登录用户创建的组)

       lists/members/destroy(移除指定用户)

6.7 List Subscribers resources

       lists/subscribers(指定的组的订阅用户)

       lists/subscribers/show

       lists/subscribers/create(将当前用户订阅指定的组)

       lists/subscribers/destroy

6.8 Direct Messages resources

       direct_messages(读取私信)

       direct_messages/sent(返回最近发送的私信)

       direct_messages/new(发送私信)

       direct_messages/destroy/:id(删除用户接收到的私信)

6.9 Friendship resources

       friendships/create(关注用户)

       friendships/destroy(取消关注)

       friendships/exists(用户A是否关注用户B)

       friendships/show(显示用户A与用户B之间的关系)

       friendships/incoming(显示正在请求关注当前用户的用户ID)

       friendships/outgoing(显示当前用户请求关注的用户ID)

       friends/IDs(当前用户关注的用户ID)

       followers/IDs(返回关注指定用户的用户ID)

6.10 Account resources

       account/verify_credentials

       account/rate_limit_status(读取用户的请求限制)

       account/update_profile_colors(更新用户的页面配色)

       account/update_profile_image(更新用户头像)

       account/update_profile_background_image(更新背景图片)

       account/update_profile(更新用户profile)

6.11 Favorites resources

       favorites(读取用户收藏)

       favorites/create/:id(收藏指定ID的status)

       favorites/destroy/:id

6.12 Notification resources

       notifications/follow

       notifications/leave

6.13 Block resources

       blocks/create(注:Twitter网站不提供黑名单表列)

       blocks/destroy

       blocks/exists(判断用户是否被当前用户加入黑名单)

       blocks/blocking(当前用户加入黑名单的用户列表)

       blocks/blocking/ids(当前用户加入黑名单的用户IDs)

6.14 Spam Reporting resources

       report_spam(报告垃圾信息用户)

6.15 Saved Searches resources

       saved_searches(读取服务器上保存的搜索关键字)

       saved_searches/show/:id

       saved_searches/create

       saved_searches/destroy/:id

6.16 OAuth resources

       oauth/request_token

       oauth/authorize

       oauth/authenticate

       oauth/access_token

6.17 Geo resources

       geo/search

       geo/similar_places

       geo/reverse_geocode

       geo/id/247f43d441defc03

       geo/place

6.18 Tweet Search

       search(查找包含文字的twitter)

6.19 Media Resources

       可以上传图片,实现图片共享。有Twitgoo, imgly等。