Ich versuche, Daten in eine Firebase-Datenbank zu schreibenVerwenden der HTTP-PUT-Anforderung von Google Apps Script. Hier ist, was ich für Code habe. Ich habe jede Zeile getestet und bis auf die eigentliche PUT - Anfrage funktioniert alles.
Webseite mit einer Schaltfläche.
<section>
<input onclick="WriteInput()" type="button" value="Save Input">
</section>
<script>
function onSuccess() {
alert("on success ran");
};
function onFailure() {
alert("on failure ran");
};
function WriteInput() {
alert("it ran");
google.script.run.withFailureHandler(onFailure)
.withSuccessHandler(onSuccess)
.putToFire();
}
</script>
Dies ist der serverseitige .gs-Code:
function doGet(){
return HtmlService.createTemplateFromFile("WriteToFirebase")
.evaluate() // evaluate MUST come before setting the NATIVE mode
.setTitle("Test Write")
.setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
function putToFire() {
var payload =
{
"first" : "Jack",
"last" : "Sparrow"
};
var options =
{
"method" : "put",
"payload" : payload
};
UrlFetchApp.fetch("https://SampleChat.firebaseIO-demo.com/users/fred/name.json", options );
Logger.log(options);
}
Dies ist die Google-Dokumentation zum Ausgeben einer HTTP-Anfrage mit Apps Script:
Holen Sie sich die URL der Google-Dokumentation
Dies ist die Firebase-REST-API-Dokumentation:
im cURL -X
soll die Art der Anfrage festlegen. Z.B. PUT, POST usw. Und -d
ist das Anzeichen dafür, dass Daten folgen sollen: Der Abgleich mit Google Fetch
ist das zu setzen params
.
Mir muss nur eine Syntaxeinstellung fehlen oder so.
Antworten:
1 für die Antwort № 1Ich habe tatsächlich eine Antwort auf mein Problem gefunden. Ich kann mich nicht erinnern, was die Fehlermeldung war. Ich habe mich geändert
DIESE:
var options =
{
"method" : "put",
"payload" : payload
};
ZU DIESEM:
var options = {"method" : "put", "payload" : payload};
Und es fing an zu funktionieren. Ich vermute, dass der mehrzeilige Code hatte end of line
return
Zeichen drin, die Firebase nicht analysieren würde. Das ist nur meine Vermutung.
Dieses Beispiel zeigt payload
, options
und das Apps Script
UrlFetchApp.fetch
Bedienung.
var payload = "{"aa" : "" + UserID + "", "ab" : "" + Maker + "", "ac" : " +
AskingPrice + ", "ad" : "" + Type +
"", "ae" : "" + Description + "", "af" : "" + Function + "", "ag" : "" +
Cosmetic + "", "ah" : "" + dbID +
"", "ai" : "" + IPaddr + ""}";
var options = {"method" : "put", "payload" : payload};
UrlFetchApp.fetch("https://MyFireBaseDatabaseName.com/" + Ctgry + "/"
+ dbID + "/.json", options );