1

我正在尝试通过 angular.js 连接到 Untappd API;API 文档说

每当您调用 API 时,您必须将您的客户端 ID 和客户端密码作为 GET 参数传递,如下所示 http://api.untappd.com/v4/method_name?client_id=CLIENTID&client_secret=CLIENTSECRET

有角度我做了这个简单的控制器

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}
  });
});

但这也不起作用......我做错了什么?我是角度的新手。它看起来很简单,但我缺少一些基本的东西......

4

3 回答 3

0

error函数传递了这些变量:data, status, headers, config. 检查它们的内容——我确信服务器有一些说明出了什么问题的原因。

于 2013-04-06T00:04:48.347 回答
0

对不起,我忘记了!这是我得到的错误函数..

data: status:0 headers:function (name) {
    "use strict";
if (!headersObj) headersObj =  parseHeaders(headers);
if (name) {
  return headersObj[lowercase(name)] || null;
}
    return headersObj;
}config:[object Object]

没什么帮助...

于 2013-04-06T18:21:33.287 回答
0

解决了!这是一个CORS问题。如果有人感兴趣,解决方案就在这里。 stackoverflow-Angularjs 问题 $http.get 不工作

于 2013-04-06T21:56:13.583 回答