首先,我了解C ++,C#,Python,一些Ruby和基本的Javascript。无论如何,我的问题围绕如何通过Javascript与RESTful API进行交互。我无法在各种网站上找到任何好的例子,所以我来到这里。
所以我的基本问题是:如何通过JS与RESTful API进行交互?我在哪里可以找到如何在JS中实现OAuth?我知道如何获取我的密钥等,而不是如何实际编码它们。
以下是我的MAC终端运行的twitter API状态更新示例,其中包含curl:
curl -u username:password
-d "my tweet"
http://api.twitter.com/1/statuses/update.json
如何在Javascript中实现此功能(最好使用OAuth身份验证)?这至少会让我朝着正确的方向前进。
非常感谢!!
答案 0 :(得分:7)
问题是您需要使用AJAX来查询远程REST API,并且只允许AJAX查询与该页面相同的域上的资源。因此,对api.twitter.com
的请求将失败,因为它与您的服务器位于不同的域中。
要纠正此问题,您需要对服务器进行编码以向twitter发出请求。但是,您可以创建自己的AJAX存根,直接从您的页面接受数据,然后使用客户提供的数据构建/发送请求到服务器端。
答案 1 :(得分:6)
通常Justin的方法是正确的,但是如果您必须让您的客户端脚本与REST服务交互,那么您可以使用JsonP。这是包含在函数调用中的JSON数据。
请参阅此页面如何操作 http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
答案 2 :(得分:1)
OAuth 2.0通过twitter does not support it yet解决了这个问题。
如果你真的想要OAuth 1.0,你可以使用我的插件:https://github.com/jpillora/jquery.rest并进行this GitHub issue中指定的更改