2010-03-31 90 views
7

開始,我知道C++,C#,Python,一些Ruby和基本的Javascript。無論如何,我的問題圍繞着如何通過Javascript與RESTful API進行交互。我在各種網站上都找不到任何好的例子,所以我來到這裏。通過Javascript與RESTful API交互?

所以我的基本問題是:如何通過JS與RESTful API交互?我在哪裏可以找到如何在JS中實現OAuth?我知道如何讓我的鑰匙和這樣的,只是不是如何實際編寫它們

下面是從我的MAC終端,捲曲運行一個Twitter API狀態更新的例子:

curl -u username:password 
-d "my tweet" 
http://api.twitter.com/1/statuses/update.json 

哪有我在Javascript中實現這個(最好使用OAuth身份驗證)?這至少會讓我走向正確的方向。

非常感謝!

回答

7

問題是,您將需要使用AJAX來查詢遠程REST API,並且只允許AJAX查詢與頁面相同的域上的資源。因此,對api.twitter.com的請求將失敗,因爲它位於與您的服務器不同的域上。

要解決此問題,您需要編寫您的服務器以向Twitter發送請求。但是,您可以創建自己的AJAX存根,它們將直接從您的頁面接收數據,然後使用客戶端提供的數據構建/發送請求到Twitter服務器端。

1

的OAuth 1.0版在JavaScript是一個糟糕的主意,因爲你需要使您的應用程序的密鑰,這樣做可能會允許其他人冒充您的應用。 OAuth 1.0旨在與您所控制的服務器一起使用。因此,您的用戶可以將其令牌發送到您的服務器,然後您代表他們向Twitter發送請求。

OAuth 2.0通過twitter does not support it yet解決了這個問題。

如果你真的想要的OAuth 1.0使用我的插件:https://github.com/jpillora/jquery.rest,也使在this GitHub issue

指定的變化