Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Sheets API写入到已从脚本读取的页面时,工作表不工作_Javascript_Google Sheets Api_Google Api Js Client - Fatal编程技术网

Javascript Google Sheets API写入到已从脚本读取的页面时,工作表不工作

Javascript Google Sheets API写入到已从脚本读取的页面时,工作表不工作,javascript,google-sheets-api,google-api-js-client,Javascript,Google Sheets Api,Google Api Js Client,我在谷歌工作表上写东西有问题,我不知道为什么 我不熟悉使用这个API,并且一直在使用JavaScript客户端库的GoogleAPI客户端库指南 我正在尝试建立一个“登录”网页,记录某人何时参加活动。当我的页面加载时,它会从谷歌页面中提取名字和姓氏,然后显示这些名字的列表。我希望能够点击某人的名字,然后通过在该人所在行的日期列中添加“x”来更新相同的谷歌表单 我首先通过以下方法建立从电子表格中提取姓名的能力: 这是有效的 然后,我建立了向谷歌表单文件写入数据的能力 这也在起作用 我现在正试图将两

我在谷歌工作表上写东西有问题,我不知道为什么

我不熟悉使用这个API,并且一直在使用JavaScript客户端库的GoogleAPI客户端库指南

我正在尝试建立一个“登录”网页,记录某人何时参加活动。当我的页面加载时,它会从谷歌页面中提取名字和姓氏,然后显示这些名字的列表。我希望能够点击某人的名字,然后通过在该人所在行的日期列中添加“x”来更新相同的谷歌表单

我首先通过以下方法建立从电子表格中提取姓名的能力:

这是有效的

然后,我建立了向谷歌表单文件写入数据的能力

这也在起作用

我现在正试图将两者结合起来,这就是我遇到问题的地方。

我复制了一份从工作表中读取的页面,然后添加了写入工作表的代码。我仍然能够阅读表格和显示姓名列表,但写作不再有效

目前,我在页面上有一个链接,该链接调用写入工作表的JavaScript函数。当我单击此链接时,工作表不会得到更新,浏览器的JavaScript控制台中也没有错误。这在Chrome和Firefox(在Windows10上)中都有发生

但是,如果我将从工作表读取的js函数调用替换为写入函数调用,那么工作表确实会更新

function updateSigninStatus(isSignedIn) {
    if (isSignedIn) {
      authorizeButton.style.display = 'none';
      signoutButton.style.display = 'block';
      // buildNamesList();
      nameSignIn();
    } else {
      authorizeButton.style.display = 'block';
      signoutButton.style.display = 'none';
    }
}
注意:
buildNamesList()
是一个函数,它读取然后显示名称列表

我不明白为什么它在
updateSigninStatus
函数中工作,但在我从链接调用它时却不工作

下面是我的函数(目前,它只写入特定的单元格):

关于问题可能是什么或如何排除故障有什么建议吗

多谢各位

更新

经过进一步的测试,我想我发现了它失败的地方,但我不知道为什么

从my
nameSignIn()
(见上文)中:

在我的开发工具中使用断点,我可以看到
请求。然后(函数(响应)
被调用,但它永远不会被调用
console.log(response.result);
console.error('error:'+reason.result.error.message);

注意:在我的初始写入页面上运行此函数时,或者在从
updateSigninStatus()
调用
nameSignIn
时,我确实会得到
console.log(response.result);
来运行

因此,我不确定在
请求之后发生了什么。然后(函数(响应)
运行,也不知道如何对其进行故障排除

谢谢你的阅读

function nameSignIn() {
  var params = {
    // The ID of the spreadsheet to update.
    spreadsheetId: '[ACTUAL ID REMOVED]',  

    // The A1 notation of the values to update.
    range: 'G5',  // Set this to cell want to add 'x' to.

    // How the input data should be interpreted.
    valueInputOption: 'RAW',  
  };

  var valueRangeBody = {
    "range": "G5",  //Set this to cell want to add 'x' to.
      "majorDimension": "ROWS",
      "values": [
        [ 'x' ]
      ],          

  };

  var request = gapi.client.sheets.spreadsheets.values.update(params, valueRangeBody);
  request.then(function(response) {
    console.log(response.result);
  }, function(reason) {
    console.error('error: ' + reason.result.error.message);
  });
} 
var request = gapi.client.sheets.spreadsheets.values.update(params, valueRangeBody);
request.then(function(response) {
    console.log(response.result);
}, function(reason) {
    console.error('error: ' + reason.result.error.message);
});