繁体   English   中英

我无法通过 GAS 将部分数据从 chrome 扩展发送到电子表格

[英]I cannot send a part of data from chrome extension to Spreadsheet via GAS

我想通过 GAS 将一些数据从 chrome 扩展发送到电子表格,但只删除了“最后一个”,尽管“标题”和“URL”已成功发送。

因此,您能否检查一下代码?

const gasUrl = "here is my spreadsheet GAS url";

chrome.tabs.query({active: true, currentWindow: true}, tabs => {
  title = tabs[0].title;
  url = tabs[0].url;
  last = url.slice(-8); // I want to send url's last 8 letters.
  console.log(`Title: ${title}`);
  console.log(`URL: ${url}`);
  console.log(`Last: ${last}`); // I can see "last" is worked as intend here.
});

$(function() {
  $('#doit').on('click', function() {
    post2GAS(title, url, last);
  });
});

function post2GAS(title, url, last){
  const data = {
    title: title,
    url: url,
    last: last
  }

  $.ajax({
    type: 'POST',
    url: gasUrl,
    data: JSON.stringify(data)
  })
    .done(function (data) {
      console.log("success"); // I can see success on console.
    })
    .fail(function (jqXHR, textStatus, errorThrown) {
      console.log("failed");
      console.log("XMLHttpRequest : " + jqXHR.status);
      console.log("textStatus : " + textStatus);
      console.log("errorThrown : " + errorThrown);
    })
    .always((data) => {
      console.log("finished"); // I can see finished on console.
    });
}

似乎 GAS 无法正确捕获“最后一个”参数,但我找不到具体原因。

这是 GAS 代码。

function doPost(e) {
  var params = JSON.parse(e.postData.getDataAsString());
  var title  = params.title;
  var url    = params.url;
  var last = params.last;

  var sheet = SpreadsheetApp.openById('Sheet ID').getSheetByName("Sheet Name");
  sheet.appendRow([title, url, last]);

  var output = ContentService.createTextOutput();
  output.setMimeType(ContentService.MimeType.JSON);
  output.setContent(JSON.stringify( { sucsess: true }));
  return output;
}

谢谢,

非常抱歉,我还没有部署新的 GAS。 当我部署时,它解决了。

因此,我在这里关闭这张票。

暂无
暂无

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

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