簡體   English   中英

從 Postman 接收數據后使用應用程序腳本填充谷歌表格

[英]Populating a google sheet using apps script after receiving data from Postman

所以我正在嘗試使用應用程序腳本填寫谷歌表格。 我應該通過 POST 從 Postman 收到一個 JSON object。 object 將顯示如下:

{
     "email":"jdoe@gmail.com",
     "full_name": "John Doe",
     "score": 4.0,
     "max_score": 5.0
     "attempt_starttime": "2021-09-21T03:28:13+0000",
     "attempt_endtime":"2021-09-21T03:28:35+0000",
     "invited_on":"2021-09-21T03:27:50+0000",
     "percentage_score":100.0,
}

我們假設它將始終采用這種格式和順序而不會失敗。 然后將數據修改並放入此表中: Google Sheet

我希望獲得有關如何僅使用 JSON object 中的數據填充工作表的幫助,因為我在這方面失敗了。 我相信我可以從那里為我的目的修改它。 我還想知道如何將時間戳轉換為幾周的天數並對它們進行減法。 我是 Apps Script 和 Postman 的新手,因此我們將不勝感激。

謝謝你。

這是我到目前為止所擁有的:

function doPost(e) {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ws = ss.getSheetByName("Sheet1"); 
  const headers = ws.getRange(1, 1, 1, ws.getLastColumn()).getValues()[0];
  const dataHeaders = headers.slice()
  const body = e.postData.contents;
  const jsonBody = JSON.parse(body);
  const data = dataHeaders.map(h => jsonBody[h]);
  ws.appendRow(data);
}

如果您想保持標題不變,請在當前標題前添加一行,並使用准確的拼寫,即: full_name, email, score, max_score, attempt_starttime, attempt_endtime, invited_on, percentage_score並更正您的 json(修復逗號情況).. .

例如

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ws = ss.getSheetByName("Sheet1"); 
  const dataHeaders = ws.getRange(1, 1, 1, ws.getLastColumn()).getValues()[0];
  const body = `{
     "email":"jdoe@gmail.com",
     "full_name": "John Doe",
     "score": 4.0,
     "max_score": 5.0,
     "attempt_starttime": "2021-09-21T03:28:13+0000",
     "attempt_endtime":"2021-09-21T03:28:35+0000",
     "invited_on":"2021-09-21T03:27:50+0000",
     "percentage_score":100.0
}`
  const jsonBody = JSON.parse(body);
  const data = dataHeaders.map(h => jsonBody[h]);
  ws.appendRow(data);
}

工作良好在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM