【问题标题】:Google Apps Scripts - how send data from scropt to page using post method?Google Apps Scripts - 如何使用 post 方法将数据从脚本发送到页面?
【发布时间】:2021-08-20 11:35:08
【问题描述】:

我有 Apps 脚本:

function editSheet(e){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getId();
  var filename = ss.getName();
  var sheetname = ss.getSheetName();
  var maxCol = ss.getLastColumn();
  var maxRow = ss.getLastRow();
  var gid = ss.getSheetId();
  
  var values = ss.getRange(sheetname+"!A1:"+maxRow).getValues();

  var json = JSON.stringify(values);
  var options = {
    "method" : "POST",
    "contentType" : "multipart/form-data",
    "sheet" : sheet,
    "filename":filename,
    "values" : json
  };
  var url = 'http://mydomian.pl/app.php';

  var response = UrlFetchApp.fetch(url,options);
  Logger.log(response);
}

但 Apps 脚本不发送 POST 数据。 http://mydomian.pl/app.php - 可以获取数据方法post

回显“值:”.$_POST['values'];

... 怎么了?还是其他方式?

【问题讨论】:

    标签: google-apps-script methods http-post


    【解决方案1】:

    帖子正文是payload

      const options = {
        "method" : "POST",
        "payload": payload
      };
    

    所以在你的情况下,它看起来像这样:

    var data = {
      "sheet" : sheet,
      "filename":filename,
      "values" : json
    };
    
    var options = {
      'method' : 'post',
      'contentType': 'application/json',
      'payload' : JSON.stringify(data)
    };
    
    var url = 'http://mydomian.pl/app.php';
    
    var response = UrlFetchApp.fetch(url,options);
    

    【讨论】:

      【解决方案2】:

      我像你说的那样尝试..:

        var json = JSON.stringify(values);
        var payload = json;
        var options = {
          "method" : "POST",
          "payload" : payload
        };
      

      在我的文件中我尝试

      echo $_POST['payload'];

      没有用

      【讨论】:

      • payload 不是名称。它是帖子本身。
      • 好的,我找到了`$data=json_decode(file_get_contents('php://input'),1); ` 但数据未排序...
      • 什么意思?
      • 好的,我找到了方法...在发送数据之前编写排序函数和排序值:-) ` values=sortObjectByKeys(values); `函数function sortObjectByKeys(o) { return Object.keys(o).sort().reduce((r, k) => (r[k] = o[k], r), {}); }
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2020-05-11
      • 2014-04-04
      相关资源
      最近更新 更多