【发布时间】:2015-02-17 14:26:43
【问题描述】:
目前,我正在开发一个需要连接到外部 API 以获取 JSON 文件的网络应用程序。
我使用的有问题的 API noun project 需要 Oauth1.0a 身份验证。现在这个项目需要我使用 Angular.JS 来处理 JSON 数据。
但在我可以使用 JSON 之前,我需要获取它,这就是事情分崩离析的地方。 当我尝试使用以下代码连接时,我的http://localhost:8080/ 上不断出现以下错误。
错误:
> XMLHttpRequest cannot load
> http://api.thenounproject.com/icons/fish&callback=?&oauth_consumer_key=9c70…891xxxx&oauth_version=1.0&oauth_signature=xxxxx6oeQI0p5U%2Br0xxxxxxx%3D.
> No 'Access-Control-Allow-Origin' header is present on the requested
> resource. Origin 'http://localhost:8080' is therefore not allowed
> access. The response had HTTP status code 403.
> Blockquote
代码:
var oAuth = OAuth({
consumer: {
public: '9c704cb01xxxxxxxxx',
secret: '45b7a8d86xxxxxxxxx'
},
signature_method: 'HMAC-SHA1'
});
var app = angular.module('nounProject', []);
app.controller('apiController', function(){
console.log("check");
var request_data = {
url: 'http://api.thenounproject.com/icons/fish&callback=?',
method: 'GET'
};
// var token = {
// public: 'f5fa91bedfd5xxxxxxxxxx',
// secret: '84228963d5e8xxxxxxxxxx'
// };
$.ajax({
url: request_data.url,
type: request_data.method,
data: oAuth.authorize(request_data)
}).done(function(data) {
console.log(data);
});
});
我用来在 JavaScript 中访问 OAuth 的库如下:https://github.com/ddo/oauth-1.0a#client-side-usage-caution(由 DDO 提供)
谁能指导我正确的方向,或者有更好的方法通过 Angular.JS 连接到 API 的 OAuth?
提前致谢!
【问题讨论】:
标签: javascript json angularjs api oauth