介面存取頻次權限


介面存取頻次權限

頻率限制

#微博開放介面限制每段時間只能要求一定的次數。限制的單位時間有每小時、每天;限制的維度有單一授權使用者和單一IP;部分特殊介面有單獨的請求次數限制。例如:

  • • 一個應用程式內單授權使用者每小時只能請求微博開放介面n次;
  • • 一個應用程式內單授權使用者每天累計只能請求微博開放介面m次;
  • • 一個IP位址每小時只能請求微博開放介面x次;
  • • 發微博介面單授權使用者每小時只能請求y次;


其中n、m、x、y的具體數值,微博開放平台將採用應用質量評估系統,實現智能評估應用質量,質量高的應用相應的這些數值就高,也就是請求限制小。因此限制值不固定,不同的應用有不同的限制,取決於應用自身的品質。


當開發者呼叫介面無法滿足開發需求,且授權使用者數高於20萬時,歡迎開發者申請合作夥伴洽談。在確保用戶隱私及資訊安全的前提下,本著合作、合法、互利的原則,進行深度合作。


合作夥伴申請頻道:weibo_app@vip.sina.com

#


開發者如何正確面對頻次限制

#首先,微博開放介面技術原理上是一個HTTP輪詢( polling)協議,不是即時推送(realtime push)協議。因此即使增大刷新頻率也無法完全達到即時獲得最新資訊效果。根據經驗,更新頻率我們建議3-5分鐘/次為宜。


目前的頻率限制,只要是使用者主動行為,都可以滿足需求。而且考慮到開發者的實際需要,頻次還會略微寬鬆一些,以便開發者實現一些非常有創意的功能(一些複雜功能可能需要組合數據,從而調用多個介面)。但是,我們反對在用戶非主動觸發的情況下,透過伺服器的機器人程序,惡意抓取用戶資料的行為,這種情況將極易觸發頻次限制。


此外,開發者可以更聰明的節省自己的存取頻次,例如最近幾次拉取資料都沒獲取到新資料的情況下,可以適當減少存取頻率。還可以適當在客戶端緩存部分數據,而不是每次都直接調用微博開放接口,但這裡需要注意的是,微博開放平台禁止第三方伺服器端存儲用戶數據,所以此方法開發者需注意只能緩存在客戶端,不能上傳到自己的伺服器端。


未通過審核應用的測試帳號限制

針對未通過審核的,開發中的應用,我們除了以上的頻次限制外,將還有測試帳號的額外請求限制。每個未通過審核的應用程式只能授權15個測試帳號來請求介面。除此之外的帳號透過該應用,都無法請求介面。當應用程式通過審核,該限制自動取消。


另外,微博非常重視用戶閱讀內容流的體驗,因此基於不騷擾正常用戶閱讀微博內容,透過測試帳號在測試狀態下請求發微博、發評論等寫內容的操作時,雖然可以要求成功、內容也可以正常發出,但只有測試帳號可以看到該測試內容,該測試內容不會實際分發到非測試帳號的內容流裡。


測試帳號設定在 「我的應用程式>編輯應用程式屬性>測試帳號」 裡可以找到。


微博開放平台安全機制及應用程式介面存取封鎖

微博開放平台一直非常重視使用者資料的保護,因此一直在不斷地改善自身的安全機制。目前微博開放平台的安全機制,能非常精確的識接口存取是使用者行為呼叫、還是機器人程式呼叫。


我們希望開發者都能遵循請求限制和微博開放平台的開發者協議,基於用戶主動行為正常的訪問接口,而不是透過機器人程式、或非用戶主動行為調用接口,甚至大量抓取微博的用戶資料。


因此,超過頻次限制的過度調用、或者是非用戶主動行為頻繁調用(即使未超過頻次限制)微博開放接口,都會導致你的應用(appkey)、IP被微博開放平台的安全機制識別為機器人程式、或惡意抓取用戶資料等違反微博開發者協議的情況。從而造成該應用程式、IP的介面存取權限被封禁,造成所有開放介面的請求都會被限制。


  • 介面頻次限制常見問題請參考微博開放平台問答系統



#