alei817927

           

          Twitter Api文檔 - 中文翻譯

          前言

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

          (細(xì)讀這一節(jié),你將掌握大多數(shù)經(jīng)驗豐富的開發(fā)者知識)

          每一個開發(fā)者都必須知道的事情

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

          0)FAQ的內(nèi)容

          當(dāng)你開始開發(fā)的時候,熟悉FAQ的內(nèi)容并且知道問題所在。

          1)twitter其實有兩份api


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

          2)你不能無限次地調(diào)用

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

          3)此api是完全基于HTTP的

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

          4)此api是RESTful的源

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

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

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

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

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

          在twitter api中有兩個特殊的參數(shù):

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

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

          前面提到過,api有些方法通過發(fā)送不同的HTTP頭可以得到不同的結(jié)果。用參數(shù)和HTTP頭可以得到同樣的效果時,優(yōu)先使用參數(shù)。

          6)分頁限制

          REST API的限制

          使用時間線REST API,客戶端通過page和count參數(shù)最多可請求3200條狀態(tài)。超過這個值將返回一個200狀態(tài)值并且為空的所請求格式數(shù)據(jù)。twitter還維 護(hù)了一個包含一個用戶發(fā)出的所有tweets的數(shù)據(jù)庫。盡管如此,為了確保網(wǎng)站的性能,做這樣人工的限制是恰當(dāng)?shù)摹?br />
          Search API的限制

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

          7)編碼影響到狀態(tài)發(fā)送的字?jǐn)?shù)

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

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

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

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

          2.使用XML格式取到所有你follow的人的更新,需要認(rèn)證: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.發(fā)送一個狀態(tài)并且取得JSON返回:curl -u username:password -d status=”your message here” http://twitter.com/statuses/update.json

          學(xué)習(xí)更多相關(guān)的curl和api請等候翻譯。

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

          社區(qū)里創(chuàng)建了許多的api庫并且樂于分享。
          API概述

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

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

          想學(xué)習(xí)更多的api方法和數(shù)據(jù),請閱讀 twitter api技術(shù)文檔(還沒譯)。

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

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

              * @twitterapi
              * Google group
              * Changelog

          頻率限制

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

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

          posted on 2009-11-07 09:39 風(fēng)馬牛 閱讀(1390) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 肇庆市| 张北县| 宝山区| 通化市| 特克斯县| 株洲县| 长春市| 苍南县| 潮州市| 天峨县| 岳西县| 吉安市| 民县| 长泰县| 赣州市| 五寨县| 贺兰县| 株洲县| 庄河市| 东乡族自治县| 金坛市| 墨玉县| 秦安县| 大冶市| 新闻| 汕头市| 高淳县| 昭通市| 四子王旗| 高要市| 裕民县| 郎溪县| 北碚区| 紫阳县| 顺平县| 农安县| 广丰县| 德兴市| 合山市| 华容县| 德庆县|