Dies scheint einer Reihe anderer Fragen sehr ähnlich zu sein und es scheint offensichtlich, dass der Fehler anzeigt, dass etwas mit meinen JSON-Nutzdaten nicht stimmt. Aber ich weiß nicht warum."JSON_PARSING_ERROR: Unerwartetes Zeichen (d) an Position 0." beim Senden der GCM-Anfrage von GAS
Ich verwende ein Google Apps-Skript, um zu testen, ob eine Nachricht an
Google
Firebase Cloud Messaging gesendet wird.
Mein Code:
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()};
}
Wenn ich dies im Debug-Modus laufen, sieht das Objekt Nutzlast in Ordnung - wie ein normales Objekt Javascript. params auch. UrlFetchApp verwendet ein JavaScript-Objekt und keinen String in JSON-Notation. Ich habe jedoch versucht "JSON.stringify (params)" und ich habe einen Fehler bekommen. Was habe ich falsch gemacht?
Hinweis: params sieht wie folgt aus, wenn ich es im Debugger pausieren:
{"headers":{"Content-Type":"application/json","Authorization":"key=AbCdEfG"},"method":"post","payload":{"data":{"message":"This is the message"},"to":"ZyXwVuT:ToKeNtOkEnToKeNtOkEnToKeNtOkEn"}}
Haben Sie versucht, Payload wie ein js-Objektliteral zu erstellen? – Tyr
Ist das nicht, was ich getan habe? – Scott