Javascript googlesheetsapi变量

Javascript googlesheetsapi变量,javascript,html,Javascript,Html,我对编码有点陌生。我必须制作一些东西,将数据从HTML表单提交到Google表单。我启用了API并遵循了所有步骤。现在我尝试使用变量firstName、lastName、phoneNumber和email来允许在单击提交按钮时提交输入。我没有使用表单,但如果需要,我愿意使用它。再次澄清一下:当你把文本输入到输入框中时,它应该在点击submit后将其添加到google sheets中。您需要一个端口为8000的python本地服务器,并运行html文件以使其正常工作 这里的问题是,我无法使用变量(

我对编码有点陌生。我必须制作一些东西,将数据从HTML表单提交到Google表单。我启用了API并遵循了所有步骤。现在我尝试使用变量firstName、lastName、phoneNumber和email来允许在单击提交按钮时提交输入。我没有使用表单,但如果需要,我愿意使用它。再次澄清一下:当你把文本输入到输入框中时,它应该在点击submit后将其添加到google sheets中。您需要一个端口为8000的python本地服务器,并运行html文件以使其正常工作

这里的问题是,我无法使用变量(firstName、lastName、email和phoneNumber)代替execute函数中“values”部分的字符串。每当我单击execute按钮时,它都会附加字符串,例如“Place_Holder”,但当我输入firstName时,它不会附加。很抱歉这么长时间的解释。这是我第一次在这里发帖。

古格里皮
信息表
名字:

姓氏:

电邮:

电话号码:

提交

document.getElementById(“submitButton”).addEventListener(“单击”,显示消息); 函数displayMessage(){ var firstName=document.getElementById('firstNameInput')。值; var lastName=document.getElementById('lastNameInput')。值; var email=document.getElementById('emailInput')。值; var phoneNumber=document.getElementById('phoneNumberInput')。值; document.getElementById(“submitMessage”).innerHTML=“Hello”+firstName+”“+lastName+”您的信息已提交; } /** *sheets.spreadsheets.values.append的JavaScript代码示例 *请参阅本地运行API Explorer代码示例的说明: * https://developers.google.com/explorer-help/guides/code_samples#javascript */ 函数身份验证(){ 返回gapi.auth2.getAuthInstance() .signIn({范围:https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/spreadsheets"}) .then(function(){console.log(“登录成功”);}, 函数(err){console.error(“错误登录”,err);}); } 函数loadClient(){ 返回gapi.client.load(“https://content.googleapis.com/discovery/v1/apis/sheets/v4/rest") .then(function(){console.log(“为API加载的GAPI客户端”);}, 函数(err){console.error(“为API加载GAPI客户端时出错”,err);}); } //在调用此方法之前,请确保已加载客户端并完成登录。 函数execute(){ 返回gapi.client.sheets.spreadsheets.values.append({ “电子表格ID”:“*已删除*”, “范围”:“A1:D2”, “IncludeValuesResponse”:“false”, “插入数据选项”:“插入行”, “ResponseDateTimeRenderopation”:“序列号”, “valueInputOption”:“用户输入”, “资源”:{ “价值观”:[ [ “持票人”, “持票人”, “持票人”, “位置固定器” ] ] } }) .然后(功能(响应){ //在这里处理结果(response.result具有解析的主体)。 控制台日志(“响应”,响应); }, 函数(err){console.error(“executeerror”,err);}); } load(“客户端:auth2”,函数(){ gapi.auth2.init({client_id:'*removed*'}); }); 授权加载 执行
我了解您的情况以及您想做的事情,如下所示

  • 在当前情况下,可以使用Sheets API将字符串放入电子表格
  • 您希望使用Sheets API的
    append()
    firstName、lastName、email和phoneNumber
    放入电子表格
如果我的上述理解是正确的,那么这次修改如何

修改点: 我认为无法将变量放入工作表的原因是运行
execute()
时没有检索到变量。因此,当运行
execute()
时,它会修改以检索变量

修改脚本: 请修改如下。运行此脚本时,请按浏览器上的“执行”按钮

发件人: 致: 注:
  • 这是一个简单的修改。因此,请针对您的环境修改此选项

如果我误解了你的问题,而这不是你想要的,我很抱歉。

@user10152378欢迎。我很高兴你的问题解决了。
function execute() {
  return gapi.client.sheets.spreadsheets.values.append({
    "spreadsheetId": "*removed*",
    "range": "A1:D2",
    "includeValuesInResponse": "false",
    "insertDataOption": "INSERT_ROWS",
    "responseDateTimeRenderOption": "SERIAL_NUMBER",
    "valueInputOption": "USER_ENTERED",
    "resource": {
      "values": [
        [
          "Place_Holder",
          "Place_Holder",
          "Place_Holder",
          "Place_Holder"
        ]
      ]
    }
  })
function execute() {
  var firstName = document.getElementById('firstNameInput').value;
  var lastName = document.getElementById('lastNameInput').value;
  var email = document.getElementById('emailInput').value;
  var phoneNumber = document.getElementById('phoneNumberInput').value;
  return gapi.client.sheets.spreadsheets.values.append({
    "spreadsheetId": "*removed*",
    "range": "A1:D2",
    "includeValuesInResponse": "false",
    "insertDataOption": "INSERT_ROWS",
    "responseDateTimeRenderOption": "SERIAL_NUMBER",
    "valueInputOption": "USER_ENTERED",
    "resource": {
      "values": [
        [
          firstName,
          lastName,
          email,
          phoneNumber
        ]
      ]
    }
  })