3

外部ネットワークにアクセスできないというエラーが表示されます。これはFirebaseのフリー層にあるので意味があります。しかし、私はFirebaseサービスがフリー層に含まれていると思ったので、FCMを使用できるはずです。FCMがFirebaseのクラウド機能の外部ネットワークとみなされる

ここでは、関数のindex.jsに使用しているコードを示します。

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

admin.initializeApp(functions.config().firebase); 

exports.buttonPress = functions.https.onRequest((req, res) => { 
    let testToken = "TOKEN"; 
    let payload = { 
     data: { 
      type: req.body.type 
     } 
    }; 
    admin.messaging().sendToDevice(testToken, payload) 
     .then(function (response) { 
      ... 
     }) 
     .catch(function (error) { 
      ... 
     }); 
}); 
+0

ログに表示される正確なエラーを貼り付けてください。 – Nivco

+0

@Nivco 2017-04-04T20:41:37.499893555Z D buttonPress:機能実行が開始されました。 2017-04-04T20:41:37.500149858Z D buttonPress:請求先アカウントが設定されていません。外部ネットワークにはアクセスできず、クォータも厳しく制限されています。これらの制限を取り除くために課金アカウントを設定してください 2017-04-04T20:41:38.253717124ZD buttonPress:機能の実行に755ミリ秒かかり、ステータスコードで終了しました:304 –

+0

Pufが下に(返答で)書きましたので、これはエラーではありませんあらゆる無限のプロジェクト。あなたの機能が正常に終了したようです...すべてうまくいきますか? :D – Nivco

答えて

0

ここ

課金アカウントに設定されていないfirebaser。外部ネットワークにはアクセスできず、クォータは大幅に制限されています。課金アカウントを設定してこれらの制限を削除します。

このメッセージは、フリー層にあるプロジェクトから呼び出されたクラウドファンクションに表示されるようになりました。これは、すべてのコールが積極的にブロックされていることを意味するものではなく、外部サービスへの呼び出しはこのプロジェクトでブロックされます。

メッセージを削除できるかどうかを確認しています。

+1

私は分かりません。これはフリー層が機能を利用できないことを意味しますか?または私は何かを逃していますか? – abarax

+0

私は実際にこの正確な問題に気づいただけです。私はfirebase-admin auth()機能を利用していますが、いつでも私の関数にhttpリクエストをしようとすると、この正確なエラーが発生します。このタイプの機能は無料のティアでは無料だと思っていました。/ –

+0

@abaraxフリー層は、着信トラフィックを処理し、他のFirebaseとGoogleサービスを呼び出す機能を利用できます。無料のプランでは(割り当て制限を除いて)不可能なのは、外部HTTPサービスを呼び出すことだけです。その制限の理由は、乱用を防止するためです。 –

0

フリーティアアカウントの場合、FirebaseはGoogleのネットワークにない外部サービスへのアクセスに制限を課しています。

問題の根本原因を調べるには、Firebaseコンソールにアクセスし、機能のログを確認してください。ログには、インストールしたサービスが外部HTTPリクエストを作成しようとしているかどうかが正確に表示されます。

関連する問題