我尝试使用Angular向Firebase云消息传递消息但没有成功,因为我收到了以下问题消息:
我有一篇非常简单的Angular帖子,Firebase文档说:Send Messages | Firebase
sendMessage() {
let headers = new Headers();
headers.append('Access-Control-Allow-Origin', '*');
headers.append('Content-Type', 'application/json');
headers.append('Authorization', `key=${environment.firebaseConfig.serverKey}`);
const options = new RequestOptions({
headers: headers,
withCredentials: true
});
const message = {
'notification': {
'title': 'MESSAGE TEST',
'body': 'Its works fine',
'click_action': 'https://www.google.com.br'
},
"to": this.token
}
this.$http.post('https://fcm.googleapis.com/fcm/send', JSON.stringify(message), options)
.subscribe(m => {
console.log(m);
}, error => {
console.log(error);
})
}
我尝试了很多东西,但是没有用......
答案 0 :(得分:0)
在Angular中修复并不容易,因为您正在尝试POST
到其他域。 Chrome和其他浏览器拒绝这些请求(安全性)。所以你必须在服务器端启用CORS头。但这是不可能的,因为您使用的是Google API。
在这里你可以阅读CORS和Angular: https://daveceddia.com/access-control-allow-origin-cors-errors-in-angular/
解决方案是在应用程序的后端发送这些通知。