alei817927

           

          2009年11月7日

          Twitter Api文檔 - 中文翻譯

          前言

          (每個開發者在開始使用api前都必須知道的概念)
          開始使用api前必讀

          (細讀這一節,你將掌握大多數經驗豐富的開發者知識)

          每一個開發者都必須知道的事情

          (每個twitter api開發者都必須知道的基礎知識)

          0)FAQ的內容

          當你開始開發的時候,熟悉FAQ的內容并且知道問題所在。

          1)twitter其實有兩份api


          目前twitter api存在兩個分立的版本。大部分的開發者都混用這兩份api來完成開發。將REST和Search的api分離是不理想的,完全是由于歷史原因。如果開 發周期允許的話,我們打算合并REST和Search的api完善之。api預覽里的前言部分說明了這段歷史。

          2)你不能無限次地調用

          api的使用頻率是有限制的。你可以閱讀《我們有個雷管》(這個名字好雷哦)來學習下。

          3)此api是完全基于HTTP的

          從twitter api檢索數據的方法需要發送GET請求。提交、修改或者刪除數據使用POST請求。DELETE請求也是可用來刪除數據。如果你沒有使用正確的方法請求數據,使用特殊HTTP方法的api就返回一個錯誤。HTTP的返回(有鏈接)是豐富多彩的。

          4)此api是RESTful的源

          twitter api企圖確保按照REST的原則來設計。只需要簡單修改你請求的擴展上的格式就可以取到你所指定的格式。本文檔指明了對每一種方法都有哪些格式是可用 的。目前api支持的數據格式有:XML、JSON、RSS、Atom聯合供稿格式。有個別方法只支持其中的某些格式。

          5)參數都有確定的期望值

          有些api方法有必選的和可選的參數。在發起請求的時候要注意兩件事情:

          1.參數值必須是utf8編碼,并且加上urlencode。

          2.翻頁的起始值是1不是0

          在twitter api中有兩個特殊的參數:

          1. callback:僅在返回格式是JSON的時候使用,用這個參數指定一個回調函數來包裝你的返回。例如:附 加&callback=myFancyFunction在你的請求上,將會返回:myFancyFunction(…)。此參數只能包含字母數字 和下劃線,其他非法的字符將會丟棄。

          2. suppress_response_codes:當出現這個參數的時候,所有的返回都將以200的結果返回-甚至是錯誤的時候。這個參數的存在是為了解 決js和flash會攔截所有非200的返回這個問題。一旦使用這個參數,要判斷錯誤就只能依靠解析返回的信息體。請小心使用,因為錯誤信息可能會改變。

          前面提到過,api有些方法通過發送不同的HTTP頭可以得到不同的結果。用參數和HTTP頭可以得到同樣的效果時,優先使用參數。

          6)分頁限制

          REST API的限制

          使用時間線REST API,客戶端通過page和count參數最多可請求3200條狀態。超過這個值將返回一個200狀態值并且為空的所請求格式數據。twitter還維 護了一個包含一個用戶發出的所有tweets的數據庫。盡管如此,為了確保網站的性能,做這樣人工的限制是恰當的。

          Search API的限制

          使用Search API,客戶端通過page和rpp參數最多可請求1500條狀態。一次請求走出這個數量將會返回200狀態和所請求格式的空值。這個人工限制對確保搜索 系統的性能是恰當的。我們還依靠在允許搜索的更新上指定一個時間來限制了搜索索引的范圍。當前這個限制是大約一個月的樣子,但因為每天增加的用戶用戶不得 不動態縮減。

          7)編碼影響到狀態發送的字數

          twitter api支持utf-8編碼。請注意尖括號已經被實體編碼(就是編碼了html的關鍵字),以預防使用JSON API輸出的嵌入式用戶被跨站式腳本攻擊。編碼的實體將算入這140個字符的限制中。當請求XML時,返回是utf-8編碼的。所有不在標準ASCII范 圍內的符號和字符都將被轉義成HTML實體。

          8)使用twitter api你所有需要的就是命令行

          如果你的系統里有curl,那你已經擁有了最好的使用twitter api的工具。這有一些例子:

          1.使用RSS格式取到公共時間線,不需要認證:curl http://twitter.com/statuses/public_timeline.rss

          2.使用XML格式取到所有你follow的人的更新,需要認證:curl -u username:password http://twitter.com/statuses/friends_timeline.xml

          3.僅查看2中的頭信息:curl –head -u username:password http://twitter.com/statuses/friends_timeline.xml

          4.發送一個狀態并且取得JSON返回:curl -u username:password -d status=”your message here” http://twitter.com/statuses/update.json

          學習更多相關的curl和api請等候翻譯。

          9)這里有幾乎每一種編程語言的twitter api庫

          社區里創建了許多的api庫并且樂于分享。
          API概述

          (過去、現在和將來的twitter api)
          twitter api包含了兩部分,這完全是由于歷史原因。最初的時候Summize公司是一家獨立的公司專門給twitter數據提供搜索功能。Summize后來被 收購,更名為Twitter Search。更名網站很容易,但要完全整合Twitter Search和它的api到Twitter的底層代碼卻很難。統一api已經被我們提上日程,但Search api和REST api將會作為獨立的實體一直到資源允許。

          twitter REST api允許開發者得到核心的twitter數據。這包括更新時間,狀態數據,用戶信息。Search api提供給開發者與Twitter Search和趨勢數據。開發者對于這兩者需要注意的是頻率限制和輸出格式的影響。

          想學習更多的api方法和數據,請閱讀 twitter api技術文檔(還沒譯)。

          其們公示目前的缺陷和改進情況。當前的缺陷和改進事項可以看issue list。長期目標會記錄在路線圖文檔中。(有兩個連接沒有譯)。

          API會定期更新并增加新的功能。偶爾會去掉一些功能。所有這些更新都會在以下的地方公布:

              * @twitterapi
              * Google group
              * Changelog

          頻率限制

          (為什么api會有限制以及會對應用開發帶來什么影響)
          twitter api只允許客戶端在一定時間里調用有限的次數。這兩種api的策略不太一樣。
          REST API 限制

          默認一小時內只能請求REST API 100次。REST API還有基于賬號和IP的限制。需要身份驗證的api請求記驗證的用戶數,而不需要身份驗證的請求則記IP數。
          頻率限制僅適用于使用HTTP GET方法請求信息的方法。而使用HTTP POST向twitter提交內容的方法不受此限制,例如statuses/update方法。另外,請求account /rate_limit_status 方法不算。為了保持健康使用阻止垃圾信息,這些不受限制的方法還是會受到每天更新和follow數的限制。

          posted @ 2009-11-07 09:39 風馬牛 閱讀(1390) | 評論 (0)編輯 收藏

          僅列出標題  

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 兰西县| 玉龙| 文安县| 丹巴县| 常山县| 开江县| 千阳县| 吉林省| 栾川县| 泾川县| 扬州市| 东安县| 渝北区| 措勤县| 新巴尔虎右旗| 水城县| 始兴县| 岳阳市| 吉安市| 连江县| 达拉特旗| 溧水县| 融水| 松潘县| 阿城市| 图片| 武陟县| 鹿泉市| 建始县| 和林格尔县| 中卫市| 宝丰县| 合江县| 平陆县| 嘉鱼县| 水富县| 灵台县| 巩义市| 湖口县| 桂阳县| 宁津县|