twitter提供了API接口,第三方可以通过接口调用,对twitter进行扩展。
先说下我理解的API:
主要实现两种功能:1.中转站,接收用户信息并通过Twitter API调用获取到结果,再返回给用户
2.拓展栈,基于twitter的用户群,开发一些twitter还没有的小功能。
应用情景:Twitter在某些地区被屏蔽,个人的创新起步可基于此。
Twitter API版本:
1.No Auth
用户无需授权就可使用的接口
2.Basic Auth
在twitter未支持OAuth之前,使用的是Basic Auth认证。要求API中输入账号和密码,通过HTTP或HTTPS协议发给twitter API。这样第三方就会知道用户的账号和密码而随意操作用户账号,这带来了潜在的安全威胁。
3.Oauth
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版,他解决了第三方应用的授权问题。基本原理如下:
以下部分转自http://www.cnblogs.com/JoannaQ/p/3172561.html
在认证和授权的过程中涉及的三方包括:
- 服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表(如twitter角色)。
- 用户 ,存放在服务提供方的受保护的资源的拥有者。
- Consumer ,要访问服务提供方资源的第三方应用(中间商,类似上面的 twitterfeed 角色)。在认证过程之前,客户端要向服务提供者申请客户端标识。
使用OAuth进行认证和授权的过程如下所示: