Это очень похоже на ряд других вопросов, и кажется очевидным, что ошибка указывает на то, что что-то не так с моей полезной нагрузкой JSON. Но я не понимаю, почему.
Я запускаю скрипт Google Apps, чтобы проверить отправку сообщения в Google Firebase Cloud Messaging.
Мой код:
function SendGCMessage() {
var url = "https://gcm-http.googleapis.com/gcm/send";
var apiKey = "AbCdEfG";
var to = "ZyXwVuT:ToKeNtOkEnToKeNtOkEnToKeNtOkEn"
var payload = {
"data": {
"message" : "This is the message"
},
"to":to
};
var sendCount = 1;
var headers = {
"Content-Type": "application/json",
"Authorization": "key=" + apiKey
};
var params = {
headers: headers,
method: "post",
payload: payload
};
var response = UrlFetchApp.fetch(url, params);
return {message: "send completed: " + response.getContentText()};
}
Когда я запускаю это в режиме отладки, полезная нагрузка объекта выглядит нормально - как обычный объект Javascript. params тоже. UrlFetchApp принимает объект Javascript, а не строку в нотации JSON. Однако я попробовал "JSON.stringify (params)" и получил ошибку. Что я сделал не так?
Примечание: параметры выглядят так, когда я приостанавливаю их в отладчике:
{"заголовки": {"Content-Type": "application / json", "Authorization": "key = AbCdEfG"}, "method": "post", "payload": {"data": {"message" : "Это сообщение"}, "кому": "ZyXwVuT: ToKeNtOkEnToKeNtOkEnToKeNtOkEn"}}