2017-08-09 96 views
8
import * as admin from 'firebase-admin'; 
var serviceAccount = require('./keys/keyfile.json'); 
admin.initializeApp({ 
    credential: admin.credential.cert(serviceAccount), 
    databaseURL: "https://test.firebaseio.com" 
}); 

var registrationToken = "--some-key--"; 

var payload = { 
    notification: { 
    title: "$GOOG up 1.43% on the day", 
    body: "$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day." 
    }, 
    data: { 
    stock: "GOOG", 
    open: "829.62", 
    close: "635.67" 
    } 
}; 


function panelMessage(){ 
admin.messaging().sendToDevice(registrationToken, payload) 
    .then(function(response) { 
    // See the MessagingDevicesResponse reference documentation for 
    // the contents of response. 
    console.log("Successfully sent message:", response); 
    }) 
    .catch(function(error) { 
    // console.log(serviceAccount); 
    var date = new Date(); 
    console.log(date.toString()); 
    console.log("Error sending message:", error); 
    }); 
} 

我贯穿节点此代码,它的工作,但是当我在角通用angular-universal | firebase-admin |代码:“应用程序/无效-证书” |插座挂断

server.ts

文件添加它..它给以下错误..

Error sending message: { Error: Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: "socket hang up". at FirebaseAppError.Error (native) at FirebaseAppError.FirebaseError [as constructor] (D:\angular2MH\firebase - panel\panel\node_modules\firebase-admin\lib\utils\error.js:39:28) at new FirebaseAppError (D:\angular2MH\firebase - panel\panel\node_modules\firebase-admin\lib\utils\error.js:84:23) at D:\angular2MH\firebase - panel\panel\node_modules\firebase-admin\lib\firebase-app.js:119:23 at ZoneDelegate.invoke (D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:232:26) at Zone.run (D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:114:43) at D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:502:57 at ZoneDelegate.invokeTask (D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:265:35) at Zone.runTask (D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:154:47) at drainMicroTaskQueue (D:\angular2MH\firebase - panel\panel\node_modules\zone.js\dist\zone-node.js:401:35)
errorInfo: { code: 'app/invalid-credential', message: 'Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: "socket hang up".' } }

我检查的时间(在读许多地方,可能是问题),他们都同步.. 谁能帮我出这个问题?我正在使用此存储库repository

回答

4

从Firebase-Support, Angular-Universal不是我们正式支持的库。所以不能提供OAuth。

为了解决这个问题,我为firebase制作了另一台服务器,并通过通用服务器进行了api调用。它的工作现在很好。