【问题标题】:Google Sheets to output variable to Discord谷歌表格将变量输出到 Discord
【发布时间】:2021-06-23 18:45:41
【问题描述】:

我正在尝试创建一个脚本,该脚本根据复选框将同一行中的单元格输出为不和谐。到目前为止,我已经写了以下内容,尽管我对 javascript/Google 脚本真的不是很好。我无法通过身份验证要求,也看不到我所犯的错误。

const sheet = SpreadsheetApp.getActiveSpreadsheet()

function onEdit(e) {

var discordUrl = "Webhook";
var userName = 3
var channelMsg = userName

  let checkboxColumnNo = 5
  let range = e.range;
  let value = range.getValue().toString();
  let column = range.getColumn();
  let row = range.getRow(); 
  let sheetName = range.getSheet().getName()
  
  if (column == checkboxColumnNo && value === "true") {userName;
  }
  var payload = JSON.stringify({content: "Whitelist add " + channelMsg });
  var params = {headers: {'Content-Type': 'application/json','Accept': 'application/json'}, method: "POST",payload: payload,muteHttpExceptions: true};
  var response = UrlFetchApp.fetch(discordUrl, params);
  Logger.log(response.getContentText());
  Logger.log(payload);
  Logger.log(channelMsg);;
}

只是显示我的工作表布局。

【问题讨论】:

  • 欢迎来到Web Applications。看起来这个问题需要更多专家来向 Discord API 发出 https 请求,而不是使用 Google Sheets / Apps Script,所以我将其迁移到 Stack Overflow

标签: google-apps-script google-sheets discord urlfetch


【解决方案1】:

将您的代码与我所做的非常相似的代码进行比较,我只能发现 1 个不同之处:

您的代码:

  var params = {headers: {'Content-Type': 'application/json','Accept': 'application/json'}, method: "POST",payload: payload,muteHttpExceptions: true};

我的代码:

    var params = {
    headers: {
        'Content-Type': 'application/json'
    },
    method: "POST",
    payload: payload,
    muteHttpExceptions: true
};

区别:

在你的标题中你有这个我没有,尝试删除它看看它是否有效。

'Accept': 'application/json'

小红包,这是我用来为 Discord 制作精美嵌入消息的工具: https://leovoel.github.io/embed-visualizer/

【讨论】:

  • 我删除了它,在我发布后我不得不修改它的某些部分。我试图让它通过 webhook 命令将答案发送到复选框时的自动白名单。它将响应输出到正确的频道,但对于 userName var,它只放置“范围”,所以我最终得到“白名单添加范围”而不是用户名。
  • 如果您只是获取范围,您可能选择正确的单元格,但忘记添加 getValue() 函数添加结束。
  • 我不得不重新定义我的变量。 var userName = sheet.getRangeByName("ign").getValue();现在唯一的问题是它抓取了范围内的最高值,没有抓取相应的值
  • 编辑,我忘了我可以在 If 语句中使用 Else 参数。我觉得很愚蠢,我解决了它拉错变量的问题,并使用 else 语句撤消了白名单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
相关资源
最近更新 更多