2013-02-05 72 views
5

我有一個應用程序需要顯示一個隨機用戶在公共頁面(不需要認證)的追隨者數量和以下(users/show.json)。 使用Twitter API 1.0,這很容易,因爲請求不需要身份驗證。由於新的Twitter API 1.1不再可能,因此我需要驗證請求(通過OAuth)。新的Twitter API的認證1.1

它可能只是「驗證」應用程序,而不是用戶呢? 我的意思是:我是否可以避免要求用戶登錄並且只使用應用程序密鑰/祕密進行身份驗證?或者每次我需要創建一個包含用戶證書的令牌,創建回調等?

回答

8

是的,這是可能的!如果您的應用程序不需要執行發佈狀態或代表用戶發送直接消息等內容,則應該可以通過一組硬編碼的Twitter OAuth憑據檢索用戶的所有公共信息,而不需要用戶進行身份驗證。

  • 登錄到Twitter,去開發人員儀表板在https://dev.twitter.com/apps
  • 註冊一個新的應用程序;應用程序註冊後,查看應用程序的詳細信息。您會看到一個「OAuth工具」選項卡,您可以在其中找到該應用程序的所有相關OAuth值:消費者密鑰,消費者密鑰,訪問令牌和訪問令牌密鑰。
  • 使用這些憑據,您將能夠向新的Twitter API發出請求。

如果你不舒服直接使用Twitter的API,還有一些很好的API封裝在那裏爲各種語言 - 除其他外,Temboo SDK,它會給你的代碼段用於調用各種方法(並且還爲您提供了安全存儲Twitter憑據的地方,因此您無需將它們烘焙到您的應用程序中)。

看看:

(全面披露:我在Temboo工作)

+0

感謝您的提示。我爲我的應用程序生成了令牌和token_secret,但是當我傳遞這些數據以顯示公共showline時,它將返回401.如果我使用從用戶登錄生成的令牌數據,它會正常工作。 – Randomize

+0

對不起。你如何提出要求?您是否使用Temboo SDK或網站,不同的API包裝庫或cURL?我能夠成功使用oAuth工具中的參數向/statuses/user_timeline.json發出請求 – mflaming

1

做最簡單的方法你問的是使用Twitter API 1.1的'application-o nly認證「功能,該功能適用​​於大部分API。見Application-only authentication。你可以在get_bearer_token.py中看到它的一個Python例子。

一旦你擁有了一個不記名令牌,你只需要將它包含在你的請求授權頭中 - 簽名就沒有必要了。