首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Clash Royale Node用键获取

Clash Royale Node用键获取
EN

Stack Overflow用户
提问于 2021-12-22 22:53:53
回答 2查看 290关注 0票数 0

我试图制造一个不和谐的机器人,如果你在聊天中输入-cr,它接受用户的参数(是Clash Royale的player标记),然后使用包节点-fetch来接收我指定端点的数据。我经常遇到{ reason: 'accessDenied', message: 'Invalid authorization' }的错误。我对这些东西非常陌生,尤其是API,但我希望能够访问某些数据,稍后我可以决定这些数据(我知道怎么做)。我的代码是:

代码语言:javascript
运行
复制
const fetch = require('node-fetch')

module.exports = {
    name: 'clash',
    aliases: ['cr', 'clashroyale'],
    category: 'This',
    utilisation: '{prefix}clash',

    async execute(client, message) {
        var msgArgs = message.content.slice(this.name.length + 1)
        var endpoint = `/players/${msgArgs}`
        var url = `https://api.clashroyale.com/v1`

        var token = `hidingmytoken`

        fetch(url + endpoint, {
            method: 'POST',
            headers: {
                "Authorization": token
            }
        }).then(data => data.json()).then(json => {
            console.log(json)
        })
    },
};

消息与msgArgs和不和谐的部分都是工作的,但是让我感到冲突的Royale是一个很大的障碍。用于Clash Royale的API可以在这里找到,https://developer.clashroyale.com/#/documentation,我通常只停留在这个概念上。我使用的是节点-fetch的2.6.6版本,这样我就可以使用require()方法,如果这确实重要的话,这个方法应该可以工作。一般来说,我如何正确地传递我的令牌来接收API数据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-22 23:30:56

因为Clash Royale使用承载认证,所以您需要指定它将是一个承载令牌。

代码语言:javascript
运行
复制
headers: {
  'Authorization': `Bearer ${token}`
}
票数 1
EN

Stack Overflow用户

发布于 2021-12-24 16:04:46

我实现了以下功能。代码是用GO编写的,但是您可以复制逻辑并将其翻译成语言。

该库具有以下功能:

  • 登录
  • 令牌生成
  • 令牌列表
  • 令牌删除

https://github.com/alessiosavi/GoClashRoyale/blob/master/api/auth.go

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70455967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档