Google apps script JSON";“文本”;内容正在阻止脚本运行
我正在编写一个应用程序脚本,用于电报机器人和谷歌表单之间的通信。这是用googleapp脚本编写的。在这位大师的帮助下,我能够让它的大部分工作,包括APi连接、Webhook和其他相关函数。提取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将通过电报向用户返回成功或失败消
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,“未找到用户”)
}