I am trying to send a test notification using Firebase Cloud Messaging via Postman. I'm doing a POST to this url
https://fcm.googleapis.com/v1/projects/[my project name]/messages:send The Authorization tab in Postman is set to No Auth and my Headers tab looks like this
Content-Type: application/json Authorization: Bearer [server key] [server key] is a newly generated server key in the 'Cloud Messaging' tab of my Firebase project's 'Settings' area. I keep getting this error in response.
"error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" } Based on everything I can find, I'm using the right token, but it seems Google disagrees. What should I be sending as the Authorization header to get past this error?
The Bearer Token is the result of getting an OAuth access token with your firebase service account. Get yourself a Firebase service account key. Go to your firebase console > Settings > Service Accounts. If your on Firebase Admin SDK generate new private key.
On initial startup of your app, the FCM SDK generates a registration token for the client app instance. If you want to target single devices or create device groups, you'll need to access this token. You can access the token's value by extending FirebaseInstanceIdService.
Steps to get Authentication Bearer:
Steps to send FCM throw Postman:

In case you want to use cURL, for a data-notification:
curl --location --request POST 'https://fcm.googleapis.com/v1/projects/your-project-id/messages:send' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer your-access-token-*****-wqewe' \ --data-raw '{ "message": { "token": "device-token-qwfqwee-***-qefwe", "data": { "Key1": "val1", "Key2": "val2" } } }'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With