跳转到: 导航, 搜索
 
(未显示3个用户的14个中间版本)
第1行: 第1行:
==接口访问频次权限==
+
=接口访问频次权限=
微博接口限制用户每个小时只能请求一定的次数。限制分用户维度和IP维度,详述如下:
+
  
===针对一个服务器IP的请求次数限制===
+
==频次限制==
<span style="color:#FF7D13;">测试授权:</span>
+
**1000次/小时
+
  
<span style="color:#FF7D13;">普通授权:</span>
+
<div class="wiki_txtJ">
**10000次/小时
+
微博开放接口限制每段时间只能请求一定的次数。限制的单位时间有每小时、每天;限制的维度有单授权用户和单IP;部分特殊接口有单独的请求次数限制。例如:
  
<span style="color:#FF7D13;">中级授权:</span>
+
<ul class="wiki_indent_list">
**20000次/小时
+
<li clas="wiki_indent_item">• 一个应用内单授权用户每天累计只能请求微博开放接口 100 次;</li>
 +
<li clas="wiki_indent_item">• 一个IP地址每小时只能请求微博开放接口 15000 次;</li>
 +
<li clas="wiki_indent_item">• 发微博接口单授权用户每小时只能请求 30 次;</li>
 +
</ul>
  
<span style="color:#FF7D13;">高级授权:</span>
+
当开发者调用接口不能满足开发需求,且授权用户数高于20万时,欢迎开发者申请合作伙伴洽谈。在保证用户隐私及信息安全的前提下,本着合作、合法、互利的原则,进行深度合作。
**30000次/小时
+
  
<span style="color:#FF7D13;">合作授权:</span>
 
**40000次/小时
 
  
===针对一个用户在使用一个应用的请求次数限制===
+
合作申请通道:[https://weibo.com/u/1904178193 请私信微博开放平台官方账号]
<span style="color:#FF7D13;">测试授权:</span>
+
</div>
**总限制:单用户每应用 150次/小时
+
**发微博:单用户每应用 30次/小时
+
**发评论:单用户每应用 60次/小时
+
**加关注:单用户每应用 60次/小时  100次/天
+
  
<span style="color:#FF7D13;">普通授权:</span>
 
**总限制:单用户每应用 1000次/小时
 
**发微博:单用户每应用 30次/小时
 
**发评论:单用户每应用 60次/小时
 
**加关注:单用户每应用 60次/小时  200次/天
 
  
<span style="color:#FF7D13;">中级授权:</span>
+
==开发者如何正确面对频次限制==
**总限制:单用户每应用 1500次/小时
+
**发微博:单用户每应用 60次/小时
+
**发评论:单用户每应用 120次/小时
+
**加关注:单用户每应用 120次/小时  300次/天
+
  
<span style="color:#FF7D13;">高级授权:</span>
+
<div class="wiki_txtJ">
**总限制:单用户每应用 2000次/小时
+
首先,微博开放接口技术原理上是一个HTTP轮询(polling)协议,不是即时推送(realtime push)协议。因此即使增大刷新频率也无法完全达到即时获得最新信息效果。根据经验,更新频率我们建议3-5分钟/次为宜。
**发微博:单用户每应用 90次/小时
+
**发评论:单用户每应用 180次/小时
+
**加关注:单用户每应用 180次/小时  300次/
+
  
<span style="color:#FF7D13;">合作授权:</span>
 
**总限制:单用户每应用 无限制
 
**发微博:单用户每应用 120次/小时
 
**发评论:单用户每应用 240次/小时
 
**加关注:单用户每应用 240次/小时  300次/天
 
  
 +
当前的频次限制,只要是用户主动行为,都可以满足需求。而且考虑到开发者的实际需要,频次还会略微宽松一些,以便开发者实现一些非常有创意的功能(一些复杂功能可能需要组合数据,从而调用多个接口)。但是,我们反对在用户非主动触发的情况下,通过服务器的机器人程序,恶意抓取用户数据的行为,这种情况将极易触发频次限制。
  
未通过审核的,开发中的应用,将适用测试授权,当应用通过审核成为正式应用,将自动升级为普通授权。
 
  
 +
此外,开发者可以更智能的节省自己的访问频次,比如最近几次拉取数据都没获取到新数据的情况下,可以适当减少访问频率。还可以适当在客户端缓存部分数据,而不是每次都直接调用微博开放接口,但这里需要注意的是,微博开放平台禁止第三方服务器端存储用户数据,所以此方法开发者需注意只能缓存在客户端,不能上传到自己的服务器端。
 +
</div>
  
客户端类应用最高可申请至合作伙伴授权(授权有效期90天)级别,网页类应用、网站接入类应用最高可申请至高级授权(授权有效期30天)级别。
 
  
 +
==未通过审核应用的测试账号限制==
  
当频次权限达到本级别的上限时,可在应用控制台中,接口管理标签下的调用频次选项中进行在线申请。
+
<div class="wiki_txtJ">
 +
针对未通过审核的,开发中的应用,我们除了以上的频次限制外,将还有测试账号的额外请求限制。每个未通过审核的应用只能授权15个测试账号来请求接口。除此之外的账号通过该应用,都无法请求接口。当应用通过审核,该限制自动取消。
  
{{center|http://www.sinaimg.cn/blog/developer/wiki/jkpc01.jpg}}
 
  
 +
另外,微博非常重视用户阅读内容流的体验,因此基于不骚扰正常用户阅读微博内容,通过测试账号在测试状态下请求发微博、发评论等写内容的操作时,虽然可以请求成功、内容也可以正常发出,但只有测试帐号可以看到该测试内容,该测试内容不会实际分发到非测试帐号的内容流里。
  
申请时请详细填写应用的产品介绍、推广策略和改进目标。
 
  
{{center|http://www.sinaimg.cn/blog/developer/wiki/jkpc02.jpg}}
+
测试账号设置在 <span style="color:#FF7D13;">“我的应用>编辑应用属性>测试账号”</span> 里可以找到。
 +
</div>
  
  
申请成功后请等待审核,三个工作日之内反馈结果。
+
==微博开放平台安全机制及应用接口访问封禁==
  
{{center|http://www.sinaimg.cn/blog/developer/wiki/jkpc03.jpg}}
+
<div class="wiki_txtJ">
 +
微博开放平台一直非常重视用户数据的保护,因此一直在不断完善自身的安全机制。目前微博开放平台的安全机制,能非常准确的识接口访问是用户行为调用、还是机器人程序调用。
  
===未通过审核应用的测试账号限制===
 
针对未通过审核的,开发中的应用,我们除了以上的频次限制外,将还有测试账号的额外请求限制。每个未通过审核应用只能授权15个测试账号来请求接口。除此之外的账号通过该应用,都无法请求接口。当应用通过审核,该限制自动取消。
 
  
 +
我们希望开发者都能遵循请求限制和微博开放平台的开发者协议,基于用户主动行为正常的访问接口,而不是通过机器人程序、或者非用户主动行为调用接口,甚至大量抓取微博的用户数据。
  
测试账号设置在 <span style="color:#FF7D13;">“我的应用>编辑应用属性>测试账号”</span> 里可以找到。
 
  
<div style="display:none;">
+
因此,超过频次限制的过度调用、或者是非用户主动行为频繁调用(即使未超过频次限制)微博开放接口,都会导致你的应用(appkey)、IP被微博开放平台的安全机制识别为机器人程序、或者恶意抓取用户数据等违反微博开发者协议的情况。从而造成该应用、IP的接口访问权限被封禁,造成所有开放接口的请求都会被限制。
===需要授权的接口限制===
+
微博平台的<span style="color:#FF7D13;">私信接口、搜索接口</span>默认为限制接口。
+
 
</div>
 
</div>
  
===黑名单===
 
我们希望API调用者都能遵循请求限制,过度频率的调用API会导致你的应用/IP加入黑名单。加入黑名单之后,所有请求都会无任何返回。
 
  
==开发者如何正确面对频率限制==
+
*接口频次限制常见问题请参考 [https://open.weibo.com/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 微博开放平台常见问题]
首先微博API技术原理上是一个HTTP轮询(POLLING)协议,不是即时推送(realtime push)协议。因此即使增大刷新频率也无法完全达到即时获得最新信息效果。根据经验,更新频率我们建议2-3分钟/次为宜,API客户端也可提供一个手工刷新按钮,用户可以手工获取最新数据。
+
+
  
API客户端可以智能控制请求频率,比如最近几次更新都没获取到数据情况下可以适当将间隔时间延长。当一小时内剩余次数多时候可以适当将更新加快。当剩余请求数偏小时,客户端通过延长自己的更新频率控制不超过上限。另外要适当留一些空余指标,防止用户手工执行一些操作产生的调用导致超出上限。
 
  
  
客户端可以通过以下接口查询当前剩余请求数[[Account/rate_limit_status]]
+
{{#a:nobtns|noheading}}
 +
__NOTOC__

2023年5月9日 (二) 16:34的最后版本

接口访问频次权限

频次限制

微博开放接口限制每段时间只能请求一定的次数。限制的单位时间有每小时、每天;限制的维度有单授权用户和单IP;部分特殊接口有单独的请求次数限制。例如:

  • • 一个应用内单授权用户每天累计只能请求微博开放接口 100 次;
  • • 一个IP地址每小时只能请求微博开放接口 15000 次;
  • • 发微博接口单授权用户每小时只能请求 30 次;

当开发者调用接口不能满足开发需求,且授权用户数高于20万时,欢迎开发者申请合作伙伴洽谈。在保证用户隐私及信息安全的前提下,本着合作、合法、互利的原则,进行深度合作。


合作申请通道:请私信微博开放平台官方账号


开发者如何正确面对频次限制

首先,微博开放接口技术原理上是一个HTTP轮询(polling)协议,不是即时推送(realtime push)协议。因此即使增大刷新频率也无法完全达到即时获得最新信息效果。根据经验,更新频率我们建议3-5分钟/次为宜。


当前的频次限制,只要是用户主动行为,都可以满足需求。而且考虑到开发者的实际需要,频次还会略微宽松一些,以便开发者实现一些非常有创意的功能(一些复杂功能可能需要组合数据,从而调用多个接口)。但是,我们反对在用户非主动触发的情况下,通过服务器的机器人程序,恶意抓取用户数据的行为,这种情况将极易触发频次限制。


此外,开发者可以更智能的节省自己的访问频次,比如最近几次拉取数据都没获取到新数据的情况下,可以适当减少访问频率。还可以适当在客户端缓存部分数据,而不是每次都直接调用微博开放接口,但这里需要注意的是,微博开放平台禁止第三方服务器端存储用户数据,所以此方法开发者需注意只能缓存在客户端,不能上传到自己的服务器端。


未通过审核应用的测试账号限制

针对未通过审核的,开发中的应用,我们除了以上的频次限制外,将还有测试账号的额外请求限制。每个未通过审核的应用只能授权15个测试账号来请求接口。除此之外的账号通过该应用,都无法请求接口。当应用通过审核,该限制自动取消。


另外,微博非常重视用户阅读内容流的体验,因此基于不骚扰正常用户阅读微博内容,通过测试账号在测试状态下请求发微博、发评论等写内容的操作时,虽然可以请求成功、内容也可以正常发出,但只有测试帐号可以看到该测试内容,该测试内容不会实际分发到非测试帐号的内容流里。


测试账号设置在 “我的应用>编辑应用属性>测试账号” 里可以找到。


微博开放平台安全机制及应用接口访问封禁

微博开放平台一直非常重视用户数据的保护,因此一直在不断完善自身的安全机制。目前微博开放平台的安全机制,能非常准确的识接口访问是用户行为调用、还是机器人程序调用。


我们希望开发者都能遵循请求限制和微博开放平台的开发者协议,基于用户主动行为正常的访问接口,而不是通过机器人程序、或者非用户主动行为调用接口,甚至大量抓取微博的用户数据。


因此,超过频次限制的过度调用、或者是非用户主动行为频繁调用(即使未超过频次限制)微博开放接口,都会导致你的应用(appkey)、IP被微博开放平台的安全机制识别为机器人程序、或者恶意抓取用户数据等违反微博开发者协议的情况。从而造成该应用、IP的接口访问权限被封禁,造成所有开放接口的请求都会被限制。




文档更新时间: 2023-05-09