开发流程技术规范与指南
(创建新页面为 '==概叙== API平台应用日益丰富,为了让开发者更容易了解开发流程;为了规范API的接口,需要制定开发规范;为了对开发者进行一些深…') |
|||
(未显示5个用户的11个中间版本) | |||
第1行: | 第1行: | ||
− | == | + | ==概述== |
API平台应用日益丰富,为了让开发者更容易了解开发流程;为了规范API的接口,需要制定开发规范;为了对开发者进行一些深层次的指导,让开发者怎样来最优的访问API接口,特此制定开发流程技术规范与指南。 | API平台应用日益丰富,为了让开发者更容易了解开发流程;为了规范API的接口,需要制定开发规范;为了对开发者进行一些深层次的指导,让开发者怎样来最优的访问API接口,特此制定开发流程技术规范与指南。 | ||
==开发流程== | ==开发流程== | ||
===申请APPKEY=== | ===申请APPKEY=== | ||
− | #进入http://open. | + | #进入http://open.weibo.com |
− | # | + | #如果您有微博账户,可以直接登录,没有则注册一个微博账户后登录 |
#登录后进入我的应用,创建一个应用 | #登录后进入我的应用,创建一个应用 | ||
#创建完成后会生成对应的appkey,app_secret,记住:您的app_key别对外泄露。 | #创建完成后会生成对应的appkey,app_secret,记住:您的app_key别对外泄露。 | ||
+ | |||
===应用创建及发布流程=== | ===应用创建及发布流程=== | ||
应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作 | 应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作 | ||
第15行: | 第16行: | ||
==开发指南== | ==开发指南== | ||
===SDK简介及作用=== | ===SDK简介及作用=== | ||
− | + | SDK是特定语言实现的一个可以通用的API使用的工具,SDK实现了新浪开放平台的全部或大部分接口,以便开发者不用关心API接口细节,认证实现等,可以直接调用接口完成特定的功能。支持微博开放平台接口的SDK语言包括Adobe air,c++,c#,java,php,python,ios等,具体请参考[[SDK]]列表页面 | |
===如何通过授权访问数据=== | ===如何通过授权访问数据=== | ||
− | 微博开放平台对外支持两种用户认证方式,Basic auth | + | 微博开放平台对外支持两种用户认证方式,Basic auth(已停用)以及OAUTH认证。 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
====OAUTH认证==== | ====OAUTH认证==== | ||
:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。 | :OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。 | ||
− | :关于OAUTH协议可以参考 http://oauth.net | + | :关于OAUTH协议可以参考 http://oauth.net/2 |
− | :使用OAUTH认证来获取微博数据介绍详细见:[[ | + | :使用OAUTH认证来获取微博数据介绍详细见:[[Oauth2]] |
===如何访问匿名接口=== | ===如何访问匿名接口=== | ||
第94行: | 第88行: | ||
:#第一次请求后,缓存下请求内容 | :#第一次请求后,缓存下请求内容 | ||
:#当获取/statuses/unread接口有新粉丝的时候,则重新获取,没有则不变更 | :#当获取/statuses/unread接口有新粉丝的时候,则重新获取,没有则不变更 | ||
− | |||
− | |||
− | |||
− | |||
:#完成后调用/statuses/reset_count来清除消息提醒 | :#完成后调用/statuses/reset_count来清除消息提醒 | ||
:获取/statuses/mentions(用户提到) | :获取/statuses/mentions(用户提到) | ||
第111行: | 第101行: | ||
#计算下一定要访问的接口数据量 | #计算下一定要访问的接口数据量 | ||
#预留给用户一定的更新(发微博,私信等) | #预留给用户一定的更新(发微博,私信等) | ||
− | #使用Account/ | + | #使用Account/rate_limit_status查看当前appkey所能支持的每小时的最大访问量,根据此访问量来确定频率的值 |
+ | |||
===技术咨询和建议通过何种途径询问=== | ===技术咨询和建议通过何种途径询问=== | ||
当碰到问题,或对微博开放平台有很好建议的事情,请通过以下途径: | 当碰到问题,或对微博开放平台有很好建议的事情,请通过以下途径: | ||
− | #[http:// | + | #具体的技术及审核问题访问:[http://open.weibo.com/qa 微博开放平台问答系统] |
− | # | + | #接口需求及反馈:私信[http://weibo.com/user/1870632073 @微博api] |
− | + |
2014年3月27日 (四) 16:09的最后版本
目录 |
概述
API平台应用日益丰富,为了让开发者更容易了解开发流程;为了规范API的接口,需要制定开发规范;为了对开发者进行一些深层次的指导,让开发者怎样来最优的访问API接口,特此制定开发流程技术规范与指南。
开发流程
申请APPKEY
- 进入http://open.weibo.com
- 如果您有微博账户,可以直接登录,没有则注册一个微博账户后登录
- 登录后进入我的应用,创建一个应用
- 创建完成后会生成对应的appkey,app_secret,记住:您的app_key别对外泄露。
应用创建及发布流程
应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作
开发指南
SDK简介及作用
SDK是特定语言实现的一个可以通用的API使用的工具,SDK实现了新浪开放平台的全部或大部分接口,以便开发者不用关心API接口细节,认证实现等,可以直接调用接口完成特定的功能。支持微博开放平台接口的SDK语言包括Adobe air,c++,c#,java,php,python,ios等,具体请参考SDK列表页面
如何通过授权访问数据
微博开放平台对外支持两种用户认证方式,Basic auth(已停用)以及OAUTH认证。
OAUTH认证
- OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。
- 关于OAUTH协议可以参考 http://oauth.net/2
- 使用OAUTH认证来获取微博数据介绍详细见:Oauth2
如何访问匿名接口
为了方便一些应用在没有用户认证情况下需要获取一些数据,微博开放平台提供了一些匿名访问接口。
- 匿名访问时必须带上参数source=appkey(您申请时获取到的appkey值)
- 匿名访问样例
- 现开放的匿名接口如下
uri | 接口说明 | 限制 |
/statuses/public_timeline | 获取最新微博 | 只返回最新的20条微博 |
/statuses/user_timeline | 获取用户微博 | 支持按screen_name来获取 |
/statuses/counts | 获取微博的转发数评论数 | |
/statuses/followers | 获取粉丝列表 | |
/users/show | 获取某用户信息 | 支持按screen_name来获取 |
/search | 搜索微博 | 最多返回20条 |
/statuses/search | 搜索微博 | 最多返回20条 |
/users/search | 搜索微博用户 | 最多返回20条 |
接口数据如何适当的缓存
在您的应用中,在正常业务需要的情况下,尽量减少请求量,减少请求接口返回数据,有必要缓存一些已经获取到的数据,来提高应用的效率和体验。下面一些场景,可供参考:
- 获取/statuses/friends_timeline(用户首页)
- 第一次请求后,缓存下请求内容
- 下一次刷新的时候使用since_id(值为前一次请求的最大微博id)来获取更新
- 获取/statuses/followers(用户粉丝)
- 第一次请求后,缓存下请求内容
- 当获取/statuses/unread接口有新粉丝的时候,则重新获取,没有则不变更
- 完成后调用/statuses/reset_count来清除消息提醒
- 获取/statuses/mentions(用户提到)
- 第一次请求后,缓存下请求内容
- 当获取/statuses/unread接口有新粉丝的时候,则重新获取,没有则不变更
- 完成后调用/statuses/reset_count来清除消息提醒
- 对很少变动的数据缓存
- 用户昵称,头像很少更改,可对用户昵称,头像做一个较长的缓存
- 表情数据 很少更改,可以缓存一个很长的缓存
如何避免rate limit
微博开放平台会对每个应用的用户有一个频率限制,怎样来让用户的操作不达到频率限制呢?下面有一个简单的样例,参考下:
- 确定哪些需要定时访问的接口,每个接口做一个优先级,访问的频率做为一个变量
- 计算下一定要访问的接口数据量
- 预留给用户一定的更新(发微博,私信等)
- 使用Account/rate_limit_status查看当前appkey所能支持的每小时的最大访问量,根据此访问量来确定频率的值
技术咨询和建议通过何种途径询问
当碰到问题,或对微博开放平台有很好建议的事情,请通过以下途径:
- 具体的技术及审核问题访问:微博开放平台问答系统
- 接口需求及反馈:私信@微博api
文档更新时间: 2014-03-27