2017-02-20 7 views
0

問題が解決しました! 旧バージョンのため。admin.messagingは関数ではありません


私はすでにベストを尽くしていますが、stackoverflow/google/firebaseで解決策を見つけることはできません。

私はLinuxサーバー上にnode.jsをビルドし、FirebaseのCloud Messagingの機能を使用することはできません。 firebase上のデータベースに正常に接続できます。 しかし、クラウドメッセージングサービスは使用できません。

私はコーディングで非常に新しいので、基本的なエラーがあるかどうか教えてください。

のNode.js上の私のコードの一部:

var admin = require("firebase-admin"); 

var serviceAccount_2 = require("/home/____________.json"); 
var app_V2 = admin.initializeApp({ 
    credential: admin.credential.cert(serviceAccount_2), 
    databaseURL: "https://_______.firebaseio.com" 
}, "myapp"); 

var payload = { 
     notification: { 
      title: "This is Title", 
      body: "This is Msg body" 
     } 
     }; 

var topic = "some_topic"; 

admin.messaging().sendToTopic(topic, payload) 
     .then(function(response) { 
      console.log("Successfully sent message:", response); 
     }) 
     .catch(function(error) { 
      console.log("Error sending message:", error); 
     }); 

私は多くの時間を試してみましたが、それでも同じエラーを持っています。

FIREBASE WARNING: Exception was thrown by user callback. TypeError: admin.messaging is not a function 

TypeError: admin.messaging is not a function 

Iは https://firebase.google.com/docs/cloud-messaging/admin/send-messages#send_to_a_topicに同じコードを使用して試みたが、まだ同じエラーを有します。

+0

'npm version firebase'を実行して報告する内容を伝えることができますか? –

+0

私は "package.json"を構築していませんが、_ "npm version firebase" _ で確認できませんが、私のバージョンは[email protected]_ –

答えて

3

ほとんどの場合、古いバージョンがインストールされている可能性があります。私は現在のバージョンvia RunKitを実行することができました。もちろん、適切な資格情報はありません。プロジェクトのルートディレクトリ(npm install firebase-adminを実行した場所)からnpm ls firebase-adminを実行して、インストールされているバージョンを再度確認してください。

+0

でなければなりません。 ありがとう! –