我正在尝试在 ember 应用程序中使用黑客新闻 firebase api。我已经像这样连接了 EmberFire 适配器
import config from '../config/environment';
import Firebase from 'firebase';
import FirebaseAdapter from 'emberfire/adapters/firebase';
export default FirebaseAdapter.extend({
firebase: new Firebase(config.firebase)
});
这是物品路线
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
var self = this;
return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.$.getJSON('https://hacker-news.firebaseio.com/v0/topstories.json', function(stories) {
for (var i = 0; i < 30 + 1; i++) {
self.store.find('item', stories[i]);
}
resolve(self.store.all('item'));
});
});
}
});
api的工作方式必须从中获取故事ID列表,.../topstories.json
然后您可以使用firebase使用ID查找故事本身。
这是我打电话时遇到的错误self.store.find('item', stories[i]);
Error: permission_denied: Client doesn't have permission to access the desired data.
如果客户端未登录,似乎会引发错误,但此 api 是只读的并且没有任何身份验证。我可以发出获取请求以使用普通的 JavaScript 或 jQuery 检索项目。