2012-07-26 176 views
0

我有一個我想提供公共訪問的API,但我希望能夠限制訪問。限制訪問公共API

我一直在思考關於Twitter的模式:

  • 的Twitter允許開發者訪問使用API​​密鑰(我認爲)的數據。
  • Twitter還必須訪問其網站上的數據以允許您發送推文/搜索。
  • 所以Twitter必須能夠阻止開發人員冒充Twitter並基本上使用他們的api密鑰。

他們是怎麼做到的?還有更好的方法嗎?

回答

0

Twitter不使用他們的REST API來爲他們的網站提供動力,他們直接查詢他們的數據庫。因此,沒有API密鑰可以竊取。您可以閱讀Twitter的API和網站數據庫查詢(大約2009年)here之間的區別。

basic techniques Twitter使用速率限制他們的API可能會是你要考慮的,太:

未經驗證的呼叫許可[少]每小時的請求。 未經身份驗證的呼叫是根據發出請求的 服務器或設備的公開IP來衡量的。

允許OAuth調用[更多] 每小時的請求數,並根據 請求中使用的oauth_token進行度量。

實現依賴您的服務器平臺上的機制(你應該更新你的原來的職位與),但你可以瞭解他們的website OAuth的(上面的第二種方法)。