Я пытаюсь отправить сообщение Firebase Cloud из скрипта Google Apps.Я перешел по следующим вопросам и ссылкам и собрал следующий код:
Получите ответ 403 с «новым» API Firebase Cloud Messaging
res
| error
Я получаю:
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}
Мой код в Google Apps Сценарий:
function sendFCM(text){
text = {
"message": {
"topic": "news",
"notification": {
"title": "Breaking News",
"body": "New news story available."
},
"data": {
"story_id": "story_12345"
}
}
}
var projectId = "xxxxxxx";
var apiUrl = "https://fcm.googleapis.com/v1/projects/"+projectId+"/messages:send";
var authKey = "AAAU.......Cs";
var token = ScriptApp.getOAuthToken();
var options = {
'method' : 'post',
'contentType': 'application/json',
'muteHttpExceptions' : true,
'payload' : JSON.stringify(text),
headers:{Authorization: "Bearer "+ token},
};
var res = UrlFetchApp.fetch(apiUrl, options);
Logger.log(res);
}
Свойства скрипта> Список областей пользователя:
https://www.googleapis.com/auth/firebase.database
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/userinfo.email
FCM & GCM Api включен в консоли разработчика проекта.
Редактировать:
Из комментария Ref я добавил следующую область в манифест приложения:
https://www.googleapis.com/auth/firebase.messaging
После запуска он попросил меня авторизоваться, и теперь response
является экземпляром сообщения.Но все же я не знаю, как определить to
устройство, т.е. на какое устройство должно отправляться сообщение.
{
"name": "projects/send-xxxx3/messages/866xxxxx92"
}