Discord 使用 url-query 中的“代码”发送 Oauth2 重定向 url。如何在我的谷歌脚本中获取该代码

Posted

技术标签:

【中文标题】Discord 使用 url-query 中的“代码”发送 Oauth2 重定向 url。如何在我的谷歌脚本中获取该代码【英文标题】:Discord send Oauth2 redirect url with the 'code' in url-query. How to get that code in my google script 【发布时间】:2019-09-09 23:50:22 【问题描述】:

我们无法将 url 查询“代码”获取到我们的 google 脚本。

1

这个不和谐的文档https://discordapp.com/developers/docs/topics/oauth2 表明我们得到了一个带有查询名称“代码”的重定向 url。

喜欢: https://nicememe.website/?code=NhhvTDYsFcdgNLnnLijcl7Ku7bEEeee

2

我们得到了这个 url(我的版本),现在我们想用这个重定向调用一个谷歌应用脚​​本。就像是: https://script.google.com/macros/s/AKfycbyyt9-FiVv0zXOr8p8pMfojwEs2AXvBftVN1xdWeU3UQ1xgURD/exec? 代码=NhhvTDYsFcdgNLnnLijcl7Ku7bEEeeD

3

我们希望如何在应用脚本中处理此“code=NhhvTDYsFcdgNLnnLijcl7Ku7bEEeeD”。

我们已经尝试过:将该脚本作为应用程序发布。所以我们得到了重定向网址。它在 url 中将我们重定向到 google 脚本的部分。

但是如果我们这样做,我们有一个问题:如果我们将脚本作为应用程序发布,我们必须调用函数 doGet(e)

在脚本中我们必须返回一些东西。

function doGet(e) 
    code = ScriptApp.getService().getUrl();
    Logger.log(code);
    return ContentService.createTextOutput(code);

在谷歌脚本中的记录器上,我只得到这个网址。

https://script.google.com/macros/s/AKfycbyyt9-FiVv0zXOr8p8pMfojwEs2AXvBftVN1xdWeU3UQ1xgUDD/exec

但是如果我们因为一些错误而中断程序,我会在顶部的 url 栏中得到正确的 url。那么为什么我们得到了正确的重定向 url,但经过一些小步骤后我们只剩下正常的 url(没有代码)?

以及如何使用 console.log?通常在 js 中,我可以打开 google DevTools 并获取控制台日志。但在谷歌脚本不起作用:(

感谢您的帮助

【问题讨论】:

是的,您可以console.log。是的,你可以得到url parameters getting parameters from a url returns 'parameter is undefined"的可能重复 【参考方案1】:

知道了!

function doGet(e)

  var codeStr = e.queryString;
  var codeArray = codeStr.split("=");
  var code = codeArray[1];
  Logger.log(code);

  return ContentService.createTextOutput(code);


【讨论】:

以上是关于Discord 使用 url-query 中的“代码”发送 Oauth2 重定向 url。如何在我的谷歌脚本中获取该代码的主要内容,如果未能解决你的问题,请参考以下文章

使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音

如何使用 Java 中的 Discord JDA 在 Discord 上的特定时间发送消息

Discord 错误错误 Discord.js 中的无效令牌

Discord.js 机器人使用数组中的加权随机选择嵌入

如何使用命令更改 discord.js 中的文件?

Discord.js API 中的权限?