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