【发布时间】:2021-05-26 21:44:23
【问题描述】:
文档对此并不十分清楚,我可以在我的令牌中硬编码并使其正常工作
const socketToken = 'mytokenrandomlongstringofchars';
//Connect to socket
const streamlabs = io(`https://sockets.streamlabs.com?token=${socketToken}`, {
transports: ['websocket']
});
然后监听这样的事件
streamlabs.on("event", (eventData) => {
if (eventData.for === "streamlabs" && eventData.type == "donation") {
var donobj = eventData.message;
var dononame = donobj[0].from;
var donomessage = donobj[0].message;
document.getElementById("alert-message").innerHTML = dononame;
document.getElementById("alert-user-message").innerHTML = donomessage;
console.log(donobj);
}
});
API 使用 oAuth 2 来允许用户进行连接,这就是我被卡住的地方,文档中的 sn-ps 并不能完全提供帮助,我应该将用户发送到看起来有些东西的授权链接像这样
streamlabs.com/api/v1.0/authorize?client_id=CLIENT-ID-HERE&redirect_uri=REDIRECT-URI&response_type=code&scope=SOME+SCOPES+HERE
根据this 堆栈溢出答案,一旦他们接受授权,他们就会被重定向到我在注册应用程序时指定的重定向 uri,代码看起来像这样
my.site/callback?code=randomstringofcharacters.
我应该使用该代码向 https://streamlabs.com/api/v1.0/token 发送一个 POST 请求以获取访问令牌,然后使用该访问令牌向 https://streamlabs.com/api/v1.0/socket/token 发送一个 GET 请求,以便我最终可以获取 Web 套接字令牌我可以用来监听事件,我不知道在哪里进行是如何从重定向的 URL 获取代码,如果我正确理解了该过程,那么我应该能够管理其他步骤,但是我如何首先获取代码?
【问题讨论】: