Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Google apps script JSON";“文本”;内容正在阻止脚本运行_Google Apps Script - Fatal编程技术网

Google apps script JSON";“文本”;内容正在阻止脚本运行

Google apps script JSON";“文本”;内容正在阻止脚本运行,google-apps-script,Google Apps Script,我正在编写一个应用程序脚本,用于电报机器人和谷歌表单之间的通信。这是用googleapp脚本编写的。在这位大师的帮助下,我能够让它的大部分工作,包括APi连接、Webhook和其他相关函数。提取JSON上的“文本”不知何故不起作用。我调试并发现var userInput=contents.result[1].date导致我的脚本停止 电报用户添加Bot 通行证中的用户密钥(例如applegate) 脚本将在googlesheet上搜索匹配项 sendMessage将通过电报向用户返回成功或失败消

我正在编写一个应用程序脚本,用于电报机器人和谷歌表单之间的通信。这是用googleapp脚本编写的。在这位大师的帮助下,我能够让它的大部分工作,包括APi连接、Webhook和其他相关函数。提取JSON上的“文本”不知何故不起作用。我调试并发现
var userInput=contents.result[1].date导致我的脚本停止

  • 电报用户添加Bot
  • 通行证中的用户密钥(例如applegate)
  • 脚本将在googlesheet上搜索匹配项
  • sendMessage将通过电报向用户返回成功或失败消息
  • 从我的手机到bot的电报消息的实际JSON内容如图所示,我键入“欢迎”:

    var yourJSON={
    好的,没错,
    结果:[
    {
    更新id:11111111,
    信息:{
    消息id:412,
    发件人:{
    身份证号码:22222,
    这是假的,
    名字:“堂”,
    用户名:“国王”,
    语言代码:“en”,
    },
    聊天:{
    身份证号码:333,
    名字:“堂”,
    用户名:“国王”,
    类型:“私有”,
    },
    日期:1600865179,
    文本:“测试”,
    },
    },
    {
    更新id:111111111,
    信息:{
    消息id:413,
    发件人:{
    身份证号码:1111111,
    这是假的,
    名字:“堂”,
    用户名:“国王”,
    语言代码:“en”,
    },
    聊天:{
    身份证号码:4444,
    名字:“堂”,
    用户名:“国王”,
    类型:“私有”,
    },
    日期:1600865186,
    文本:“applegate”,
    },
    },
    ],
    
    };给定JSON对象的嵌套结构,
    date
    message

    因此,要访问
    yourJSON的第二个
    result
    date
    ,您应该定义

    var userInput=yourJSON.result[1].message.date

    至于匹配输入,问题是

  • var ididex=idArr.indexOf(userInput)
    行中,您可能是指
    var ididex=valueRange.indexOf(userInput)
    -
    indexOf()
    无法成功应用于二维数组

  • 排队
    if(userInput==valueRange)

  • 在这里,您试图将单个字符串压缩到包含字符串数组的值范围中

    重写函数结尾,如下所示:

    var-idArr=sheet.getRange(“A2:A”).getValues();
    var valueRange=idArr.map(行=>行[0]);
    var idIndex=valueRange.indexOf(用户输入);
    如果(idIndex>-1){
    sendMessage(id,“您已成功导入”);
    设rowNumber=idIndex+2;
    设colNumber=4;//列D
    var dateNow=新日期;
    sheet.getRange(rowNumber,colNumber).setValue(dateNow);
    }否则{
    sendMessage(id,“未找到用户”)
    }