繁体   English   中英

Google Apps脚本UrlFetchApp.fetch HTTP PUT请求到Firebase无效

[英]Google Apps Script UrlFetchApp.fetch HTTP PUT Request to firebase not working

我正在尝试使用Google Apps脚本HTTP PUT请求将数据写入Firebase数据库。 这是我的代码。 我调试了每一行,除了实际的PUT请求之外,其他所有东西都可以正常工作。

带有一个按钮的网页。

<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>

这是服务器端的.gs代码:

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);

   }

这是用于通过Apps脚本发出HTTP请求的Google文档:

获取网址Google文档

这是Firebase REST API文档:

Firebase REST API

cURL -X中设置请求的类型。 例如PUT,POST等, -d表示要遵循的数据:与Google Fetch匹配的是设置params

我一定只是缺少语法设置或其他东西。

我实际上找到了解决我问题的方法。 我不记得是什么错误消息。 我变了

这个:

var options =
{
 "method" : "put",
 "payload" : payload
 };

对此:

var options = {"method" : "put", "payload" : payload};

它开始工作。 我猜想多行代码中end of line return字符,Firebase无法解析。 那只是我的猜测。

此示例显示了payloadoptionsApps Script UrlFetchApp.fetch服务。

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 );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM