从 Google Sheet API v4 追加数据不再起作用

Posted

技术标签:

【中文标题】从 Google Sheet API v4 追加数据不再起作用【英文标题】:Append data from Google Sheet API v4 does not work anymore 【发布时间】:2021-11-09 08:51:36 【问题描述】:

自 google sheet api v4 更新以来,我无法从工作表中附加我的数据。 获取工作正常,但是当我尝试将它附加到 json.feed.entry 时它会给出错误。 代码如下:

let sheetNumber = "Sheet1";
let sheetUrl = `https://sheets.googleapis.com/v4/spreadsheets/$HanearkId/values/$sheetNumber/?alt=json&key=""
    
    fetch(sheetUrl)
      .then(function (response) 
        return response.json();
      )
      .then(function (json) 
        appendMenus(json.feed.entry);
      );
    
    /*
    Appends json data to the DOM
    */
    function appendMenus(menus) 
      let htmlTemplate = "";
      for (let menu of menus) 
        htmlTemplate += `
    
        <table>
          <tbody>
            <tr>
              <td class="td1">$menu['gsx$nr.']['$t'].</td>
              <td class="td2">$menu['gsx$bryggeri']['$t']</td>
              <td class="td3">$menu['gsx$ølnavn']['$t']</td>
              <td class="td4">$menu['gsx$ølkat.']['$t']</td>
              <td class="td5">$menu['gsx$alk.']['$t']</td>
              <td class="td6">$menu['gsx$beskrivelse']['$t']</td>
              <td class="td7">$menu['gsx$pris']['$t'] kr</td>
          </tr>
        </tbody>
      </table>
          `;
      
      document.querySelector("#menus").innerHTML += htmlTemplate;
    

【问题讨论】:

【参考方案1】:

尝试使用此 url,使用工作表 GID

let sheetUrl = `https://docs.google.com/spreadsheets/d/$HanearkId/gviz/tq?tqx=out:json&tq&gid=$sheetGID`;

电子表格必须共享

【讨论】:

以上是关于从 Google Sheet API v4 追加数据不再起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google Sheet API 导出 csv?

如何使用Google表格Api V4格式化检索工作表数据

使用 Sheets API v4 Java 阅读整个 Google 电子表格

在 Google Sheet 模板的容器绑定脚本中维护启用的 API

Google Sheets API v4 接收公共供稿的 HTTP 401 响应

Python-通过Google Sheet API创建Google表格并将其发布到网站