将Instragram API中的照片添加到AngularFire中的同步数组中

时间:2016-03-24 21:33:01

标签: firebase angularfire instagram-api

我使用Instagram API和Angular构建了一个简单的Instagram应用程序。

现在我想永久存储用户搜索(也就是来自Instagram服务器的每个输入的#标签的响应)到Firebase。

我将Instagram API调用工作并保存为$scope.instadata,但如何使用$scope.instadata$add()添加到Firebase?

我得错了:

  

angular.js:11500错误:Firebase.set失败:第一个参数包含一个函数..

var app = angular.module('InstagramApp', ['firebase']);

app.controller('MainController', function ($scope, $http, $firebaseArray) {

  // search posts based on hashtag
  function getHash() {
    var base = 'https://api.instagram.com/v1/tags/'
    var service = document.getElementById('hashtag').value
    var apiKey = '####'
    var callback = 'JSON_CALLBACK'
    var url = base + service + '/media/recent?access_token=' + apiKey + '&callback=' + callback

    // use jsonp method to prevent CORS error
    $http.jsonp(url).then(function(data) {

        $scope.instadata = data
        console.log("returned json object: ")
        console.log($scope.instadata)

        // set up firebase reference
        var ref = new Firebase('https://myapp.firebaseio.com/fbdata')

        // create a synchronized array 
        $scope.fbdata = $firebaseArray(ref)

        // add new items to the array RETURNS ERROR
        $scope.fbdata.$add($scope.instadata).then(
            function(p){
            console.log(p.key())
            console.log($scope.instadata)
            }, 
            function(err){
            console.log("The expected Firebase action failed to occur this was your error: " + err)
            })  
        }

     })
  }
  document.getElementById('hashtag').addEventListener('click', getHash, false) 
})

这是我第一次在这里提出问题,使用API​​,Angular和Firebase!我希望没问题!

0 个答案:

没有答案