2009-11-13 68 views
17

我正在嘗試編寫一個可以通過OAuth使用Twitter的Web應用程序。如何在本地測試twitter API?

  1. 我跑我的本地服務器作爲「localhost」的,所以我需要回調URL是像http://localhost/something/twitter.do但Twitter沒有這樣的:不是有效的URL格式

  2. 我可能要做很多測試,但是一旦我用我的用戶名批准了我的應用程序,我不能再測試一次嗎?我應該創建多個Twitter帳戶?或者你可以刪除一個應用程序,並再次執行?

回答

1

您是否嘗試過創建自己的緩存機制?您可以採用初始查詢的結果,將其緩存在本地線程上,並給定到期時間,從Twitter進行刷新。這可以讓你測試你的應用程序對Twitter數據,而不會導致通話處​​罰。

-3

1.)不要使用本地主機。這沒有幫助。爲什麼不站起來另一個服務器實例或從slicehost獲得測試VM切片?

2.)您可能需要一堆不同的用戶帳戶和一對不同的OAuth密鑰/祕密憑據進行測試。

儘管如此,您還是處於正確的軌道:請通過your twitter account's connections setting撤消應用的憑據。這應該優雅地發生。您可能需要在訪問令牌信息旁邊存儲狀態值,以便您可以將令牌標記爲撤消。

3

對API GET調用的Twitter「限速」基於調用者的IP地址。因此,您可以使用相同的IP地址從您的服務器測試您的應用程序,並且每小時獲得(一旦批准)15,000個API調用。這意味着只要您批准的IP地址保持不變,您就可以用許多不同的用戶名稱來打擊您的應用。

當您將電子郵件發送到Twitter以要求提高您的費率限制時,您也可以要求增加以應用於您的Twitter用戶名。

我相信Twitter的需要你 - 如果你需要改變你的IP地址,或更改使用的應用程序的用戶名 - 在另一個請求,要求限速增加新的IP地址或用戶名來發送。但是,根據我的經驗,Twitter在轉換這些請求方面做得非常快(可能不到48小時?)。

20
  1. 您可以使用127.0.0.1而不是localhost

  2. 你可以授權你的應用程序多次,只要你喜歡從同一個twitter帳戶,而無需撤銷它。然而,認證行動只會提示輸入允許/拒絕一次,所有後續驗證,直到撤銷特權請求將剛好通過。

0

在回答(1),看到這個主題,尤其是episod的回覆:https://dev.twitter.com/discussions/5749

不要緊,你把回調URL在應用程序的管理頁面上開發。 twitter.com(只要你不使用本地主機)。您提供的「真實」的回調URL作爲您的要求爲OAuth憑證的一部分。

0

也有另一種解決方案(一種解決方法,而不是),這就需要您編輯hosts文件。

這裏是你如何做到這一點在Linux中:

  1. 打開/etc/hosts文件root。要做到這一點,你可以打開一個終端,並鍵入類似sudo vi /etc/hosts

  2. 選擇一個不存在的域名作爲您的本地地址,並將其添加到您的hosts文件中。例如,您將需要添加類似末下面的東西。

    127.0.0.1 localhost.cep # this domain name was accepted. 
    

所以,這是相當多了。瀏覽器指向localhost.cep現在將帶你到你的本地服務器。希望幫助:)