使用Angular访问Instagram API的喜欢图像

时间:2015-07-08 15:02:25

标签: angularjs instagram-api

我正在尝试访问特定Instagram用户喜欢的媒体的JSON,在它说的文档中使用它:

https://api.instagram.com/v1/users/self/media/liked?access_token=ACCESS-TOKEN

如上所述: https://instagram.com/developer/endpoints/users/

用Instagram给出的ACCESS-TOKEN替换,我在下面做了:

(function(){
      var app = angular.module('instafeed', []);
      app.factory("InstagramAPI", ['$http', function($http) {
        return {
          fetchPhotos: function(callback){
            var endpoint = "https://api.instagram.com/v1/users/self/media/liked/?";
            endpoint += "?access_token=[ACCESS-TOKEN]";
            endpoint += "&callback=JSON_CALLBACK";

            $http.jsonp(endpoint).success(function(response){
              callback(response);

            });
          }
        }
      }]);

      app.controller('ShowImages', function($scope, InstagramAPI){
        $scope.layout = 'grid';
        $scope.data = {};
        $scope.pics = [];

        InstagramAPI.fetchPhotos(function(data){
          $scope.pics = data;
          console.log(data)
        });
      });

    })();
显然我已经用我的ACCESS-TOKEN取代了,但没有回复,是否有不正确的东西?

编辑:我添加了回调但仍然以未定义的形式返回。

2 个答案:

答案 0 :(得分:1)

要使用jsonp使这项工作正常,请将以下内容添加到您的端点url:

&callback=JSON_CALLBACK

您的回调需要命名为“JSON_CALLBACK”。在这里找出原因:https://docs.angularjs.org/api/ng/service/ $ http#jsonp

否则,要做一个简单的GET请求......

$http.get(endpoint).success(function(data){
     callback(data);
});

答案 1 :(得分:0)

它是jsonp,所以我猜你应该在你的网址中指定回调函数的名称

var endpoint = "https://api.instagram.com/v1/users/self/media/liked/?callback=callback";