简体   繁体   English

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

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

I want to send some data from chrome extension to Spreadsheet via GAS, but only "last" is dropped, although "Title" and "URL" is sent successfully.我想通过 GAS 将一些数据从 chrome 扩展发送到电子表格,但只删除了“最后一个”,尽管“标题”和“URL”已成功发送。

Hence, could you kindly check the code?因此,您能否检查一下代码?

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

Seems GAS cannot catch "last" param correctly, but I cannot find specific reason.似乎 GAS 无法正确捕获“最后一个”参数,但我找不到具体原因。

Here is GAS code.这是 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;
}

Thanks,谢谢,

I'm so sorry, I have not deploy new GAS.非常抱歉,我还没有部署新的 GAS。 And when I deployed, it's solved.当我部署时,它解决了。

Hence, I'm close this ticket here.因此,我在这里关闭这张票。

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

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