我正在设置我的第一个不和谐机器人,它将能够从谷歌电子表格、官方应用编程接口中获取数据,并将其作为不和谐的嵌入信息。问题是在. addField()级别,我不能输入单元格的值。我该怎么做呢?
const { Client, RichEmbed } = require('discord.js');
const client= new Client();
const GoogleSpreadsheet = require('google-spreadsheet');
const {promisify} = require('util');
const creds = require('./client_secret.json');
client.on('message', message => {
if (message.content === '!bot'){
async function accessSpreadsheet() {
const doc = new GoogleSpreadsheet('1qA11t460-ceILmwu6RtfiPGb_n9MUD_7z6Ld7I_Z6yc');
await promisify(doc.useServiceAccountAuth)(creds);
const info = await promisify(doc.getInfo)();
var sheet = info.worksheets[0];
var cells = await promisify(sheet.getCells)({
'min-row': 2,
'max-row': 5,
'min-col': 3,
'max-col': 3,
'return-empty': true,
})
for (var cell of cells) {
message.author.send(cell.value)
}
}
accessSpreadsheet();
const embede = new RichEmbed()
.setColor('#0099ff')
.setTitle("My Title")
.addBlankField()
.setDescription('Some description')
.addBlankField()
.addField('Name', '•'+ cell[1].value , true)
.setTimestamp();
message.author.send(embede) }
})
client.login('xxx')
我期望输出“Terrassycup 3”,但实际输出是控制台中的“ReferenceError:cell未定义”。日志
我发现您的代码存在一些问题:
访问Spread表()
不返回它访问的任何值。 访问Spreadhseet()
返回一个Promise,因为它被声明为异步,但它从未等待过。cell
的作用域在访问表()
函数内的for...的范围内,但是您尝试在它之外很好地使用它。
您可以将它们作为字段添加到您声明的函数中的嵌入(限制为25),而不是将每个值发送给用户。
async function accessSpreadsheet(embed) {
// Insert the code already being used up to the for loop.
for (let i = 0; i < 25 && cells[i]; i++) embed.addField('Name', `•${cells[i].value}`, true);
}
var embed = new RichEmbed()
.setColor('#0099ff')
.setTitle('**Spreadsheet Info**')
.setDescription('Showing as many values as possible...');
accessSpreadsheet(embed)
.then(() => message.author.send(embed))
.catch(console.error);
答案是接下来: 1) 谷歌表单单元格“A11”中有公式,例如“=F11 C11”; 2)我在https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate或https://developers.google.com/sheets/api/reference/rest/v4/spre
在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia
我希望有人能帮我调整(甚至替代)我在谷歌表单中使用的一个公式,根据谷歌表单输入的信息自动填充列。 简单地说,我使用索引函数来匹配从谷歌表格中的下拉菜单中选择的名称,并到达谷歌表格的E列,在“表格2”的A列中收到与相同名称列表的响应。索引公式从表2中获取与该名称相关的信息(例如:注册号、电子邮件地址),并将其放在“表格回复1”表中,与谷歌表格的输入一起(当然包括出现在E栏中的名称)。 我一直在使用(
我试图使用c#和谷歌表格api在电子表格中追加一行单元格。我拿到密码了 问题是我得到的唯一一个sheetID来自url,是一个String。在哪里可以找到作为整数的工作表ID以及如何执行AppendCellsRequest? 希望你能帮忙。
我如何使用https://maps.googleapis.com/maps/api/js在谷歌地图的webview中,我试图展示一张谷歌地图,就像来自waqi weather的地图一样,地图上包含关于空气污染的信息。就这样https://aqicn.org/faq/2015-09-18/map-web-service-real-time-air-quality-tile-api/
此函数工作正常。当当前工作表不是Google表单响应工作表时。我正在使用(每分钟)触发器 图像:沙子数据(主数据)表至(共享数据1)表 我正在寻找一个,当用户提交的谷歌表格的状态是(支付),数据应该在第二页,这是(shareData1) 这里的问题是,当我使用谷歌表单响应表时,这个函数将不再工作。它显示了一个错误。错误图像 在降级的错误图像中,我手动运行此函数,相同的错误显示在AppScript面