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 上的特定时间发送消息