Après avoir exécuté la ligne suivante dans node-js:
import * as admin from "firebase-admin";
import * as serviceAccount from "../../firebase_service_account_key.json";
const app = admin.initializeApp({
credential: admin.credential.cert(serviceAccount as any),
databaseURL: "https://my-app-path.firebaseio.com"
});
admin.messaging().send({
token: "known-good-token",
notification: {
title: "Test Push Note",
body: "Here is some text"
}
});
Je reçois l'erreur:
Error: Auth error from APNS or Web Push Service
Raw server response:
"{
"error":{
"code":401,
"message":"Auth error from APNS or Web Push Service",
"status":"UNAUTHENTICATED",
"details"[
{
"@type":"type.googleapis.com/google.firebase.fcm.v1.FcmError",
"errorCode":"THIRD_PARTY_AUTH_ERROR"
},
{
"@type":"type.googleapis.com/google.firebase.fcm.v1.ApnsError",
"statusCode":403,
"reason":"InvalidProviderToken"
}
]
}
}"
J'ai ajouté une "clé d'authentification APN" à mon projet ios dans la section Paramètres> Messagerie cloud de Firebase. J'ai également téléchargé et importé correctement le fichier json de mon compte de service.
En termes de recherche, j'ai essayé de rechercher les erreurs.
Pour l'erreur InvalidProviderToken
, cette réponse semble indiquer que j'utilise un ancien jeton. C'est tout à fait possible, mais les journaux de mon application et de ma base de données semblent correspondre, donc cela semble éteint.
En ce qui concerne la THIRD_PARTY_AUTH_ERROR
, Google ne m'a donné aucun résultat. La chose la plus proche que j'ai trouvée était this , et le texte suivant pourrait être le coupable (EDIT: ce n'est pas le problème):
auth/domaine non autorisé
Lancé si le domaine d'application n'est pas autorisé pour les opérations OAuth pour votre projet Firebase. Modifiez la liste des domaines autorisés à partir de la console Firebase.
Quelqu'un a-t-il plus de détails sur cette erreur qui pourraient m'aider à aller au fond des choses?
Tout a fonctionné pour moi l'autre jour, donc toute la configuration s'est bien passée. Mais aujourd'hui, j'ai eu cette erreur.
Voici ce qui l'a résolu pour moi:
firebase deploy --only functions
Avez-vous appelé admin.initializeApp()
?
Il existe de nombreux échantillons officiels.
Voir: