我使用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!我希望没问题!