Как получить разрешения / область действия для скрипта Google Apps для API Firebase Cloud Messaging HTTP v1? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь отправить сообщение 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"
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...