【发布时间】:2017-09-26 12:39:10
【问题描述】:
我正在尝试通过 angular.js 连接到 Untappd API; API 文档说
每当您调用 API 时,您必须将您的客户端 ID 和客户端密码作为 GET 参数传递,如下所示 http://api.untappd.com/v4/method_name?client_id=CLIENTID&client_secret=CLIENTSECRET
使用 angular 我已经完成了这个简单的控制器
function UntappdController($scope,$http) {
$http.get('http://api.untappd.com/v4/user/badges/jonnyjava?client_id=XXX&client_secret=XXX').success(function(data) {
alert('ok');
}).
error(function(data, status, headers, config) {
alert('ko');
});
}
UntappdController.$inject = ['$scope', '$http'];
但它不起作用。 (我总是 KO)
所以我尝试了一个 RESTful 服务。这样
angular.module('BadgeServices', ['ngResource']).
factory('Badge', function($resource){
return $resource('http://api.untappd.com/v4/user/badges/jonnyjava/', {}, {
query: {method:'GET',params:{client_id: 'XXX', client_secret: 'XXX'}, isArray:true}
});
});
但这也不起作用... 我做错了什么?我是角度的新手。它看起来很简单,但我缺少一些基本的东西......
【问题讨论】:
-
如果 API 返回 JSONP ,需要进行 jsonp 请求,否则需要使用代理进行跨域请求。并非所有 API 都有 jsonp 输出
标签: angularjs