Vue.js VueJS:Firebase抛出错误“;FirebaseError:消息传递:用户订阅FCM时出现问题;
以下代码接收到Firebase错误: “FirebaseError:消息传递:向用户订阅FCM时出现问题:请求缺少所需的身份验证凭据。应为OAuth 2访问令牌、登录cookie或其他有效身份验证凭据。” 2个月前它还在工作(我发誓),但我把它放在一边去做其他的工作,今天当我再次运行它时,我看到了这个错误。请让我知道我可能做错了什么。谢谢你的帮助Vue.js VueJS:Firebase抛出错误“;FirebaseError:消息传递:用户订阅FCM时出现问题;,vue.js,firebase-cloud-messaging,Vue.js,Firebase Cloud Messaging,以下代码接收到Firebase错误: “FirebaseError:消息传递:向用户订阅FCM时出现问题:请求缺少所需的身份验证凭据。应为OAuth 2访问令牌、登录cookie或其他有效身份验证凭据。” 2个月前它还在工作(我发誓),但我把它放在一边去做其他的工作,今天当我再次运行它时,我看到了这个错误。请让我知道我可能做错了什么。谢谢你的帮助 // Initialize Firebase, below snippet copied from Firebase console
// Initialize Firebase, below snippet copied from Firebase console
// Your web app's Firebase configuration
this.firebaseConfig = {
apiKey: "<MY API KEY>",
authDomain: "<name>.firebaseapp.com",
databaseURL: "<URL>",
projectId: "<ProjectID>",
storageBucket: "<storage bucket>",
messagingSenderId: "<sendid>",
appId: "<appID>"
};
firebase.initializeApp(this.firebaseConfig);
//Call Firebase and get toke, n
firebase.messaging()
.usePublicVapidKey("<VAPIDKEY>");
firebase.messaging()
.getToken()
.then(function (token) {
TokenElem.innerHTML = "token is : " + token;
})
.catch(function (err) {
ErrElem.innerHTML = ErrElem.innerHTML + "; " + err
console.log("Unable to get permission.", err);
});
//初始化Firebase,位于从Firebase控制台复制的代码段下方
//您的web应用程序的Firebase配置
this.firebaseConfig={
apiKey:“,
authDomain:“.firebaseapp.com”,
数据库URL:“”,
投射:“,
storageBucket:“”,
messagingSenderId:“”,
appId:“
};
firebase.initializeApp(this.firebaseConfig);
//打电话给消防基地,让托克,n
firebase.messaging()
.usePublicVapidKey(“”);
firebase.messaging()
.getToken()
.then(功能(令牌){
TokenElem.innerHTML=“令牌是:”+令牌;
})
.catch(函数(err){
ErrElem.innerHTML=ErrElem.innerHTML+“;”+err
log(“无法获得权限”,错误);
});
确保您有一个有效的VAPIDKEY参考下面的链接,检查这是否解决了您的问题。
我发现另一篇文章可能对你有帮助。
是的,我已经检查了该链接,并指定了有效的VAPIDKEY。但是没有运气。它在ASP.NET中工作,但在Vue中不工作。您能否在使用firebase messagingYes之前检查用户是否已通过身份验证?是的,也使用以下代码进行了验证。为了测试它,我试着发送了一个错误的密码,它立即抛出了错误。我仅在SignIn methodfirebase.auth()的响应中调用requestPermission和getToken()。signInWithEmailAndPassword(“,”)。然后((userCredential)=>{console.log('成功登录:'+firebase.auth().currentUser.getIdToken());})。捕获(错误=>{console.log(“AuthError:+error.message);});;我也看到了第二个链接,您已经粘贴了该链接,但不确定该链接如何适用于我的Vue JS项目,因为我们不是通过POST方法进行getToken()调用。这是一个简单的messaging.getToken()javascript调用。