Javascript Polymer、Firebase和谷歌登录;无法读取属性推送";

Javascript Polymer、Firebase和谷歌登录;无法读取属性推送";,javascript,firebase,polymer,google-login,Javascript,Firebase,Polymer,Google Login,我正在尝试完成,但当我尝试合并谷歌登录时,我不断收到一个“无法读取属性推送”错误。所以从现在的情况来看,我似乎无法通过谷歌登录登录,所以我无法使用Firebase的“推送” 我不知道是什么阻止了我登录 我按照说明中的步骤进行操作 1.)创建了一个新项目 2.)已创建OAuth客户端ID凭据 3.)创建了同意屏幕 4.)为应用程序类型选择的Web应用程序 5.)按照指示授权JS来源和重定向URI 6.)转到身份验证部分(不再有登录和身份验证部分),并添加了我的客户端ID和客户端机密web sdk配

我正在尝试完成,但当我尝试合并谷歌登录时,我不断收到一个“无法读取属性推送”错误。所以从现在的情况来看,我似乎无法通过谷歌登录登录,所以我无法使用Firebase的“推送”

我不知道是什么阻止了我登录

我按照说明中的步骤进行操作

1.)创建了一个新项目

2.)已创建OAuth客户端ID凭据

3.)创建了同意屏幕 4.)为应用程序类型选择的Web应用程序

5.)按照指示授权JS来源和重定向URI

6.)转到身份验证部分(不再有登录和身份验证部分),并添加了我的客户端ID和客户端机密web sdk配置(它们不再有Google客户端ID和机密部分)

7.)Main.js更新为使用“谷歌”作为提供者

每当我尝试使用该应用程序时,我都会得到一个“无法读取未定义属性‘push’”。教程中的代码是否不再有效?我已经从github页面复制了代码,并用我的替换了firebaseURL,所以我不确定还有什么地方出错

任何帮助都将不胜感激,谢谢

如要求的那样

(function(document) {
  'use strict';

  var app = document.querySelector('#app');
  app.firebaseURL = "https://***my project here***.firebaseio.com";
  app.firebaseProvider = 'google';

  app.items = [];

  app.updateItems = function(snapshot) {
    this.items = [];
    snapshot.forEach(function(childSnapshot) {
      var item = childSnapshot.val();
      item.uid = childSnapshot.key();
      this.push('items', item);
    }.bind(this));
  };

  app.addItem = function(event) {
    event.preventDefault(); // Don't send the form!
    this.ref.push({
      done: false,
      text: app.newItemValue
    });
    app.newItemValue = '';
  };

  app.toggleItem = function(event) {
    this.ref.child(event.model.item.uid).update({done: event.model.item.done});
  };

  app.deleteItem = function(event) {
    this.ref.child(event.model.item.uid).remove();
  };

  app.onFirebaseError = function(e) {
    this.$.errorToast.text = e.detail.message;
    this.$.errorToast.show();
  };
  app.onFirebaseLogin = function(e) {
    this.ref = new Firebase(this.firebaseURL + '/user/' + e.detail.user.uid);
    this.ref.on('value', function(snapshot) {
      app.updateItems(snapshot);
    });
  };

})(document);

虽然我不确定确切原因是什么,但我可以告诉您,您正在学习的教程已经过时,并且正在使用弃用的
(仅适用于Firebase 2.0)。这也在以下文件中说明:

注意:此元素适用于较旧的Firebase 2.0 API。 有关Firebase团队提供的最新官方Firebase 3.0兼容组件,请参阅组件


使用最新的
polymerfire
的最新教程位于:

请向我们展示您的代码