Ошибка при отправке запроса в fluxpoint api - PullRequest
0 голосов
/ 20 марта 2020

это снова я ... Извините, что спрашиваю так много раз в день, но я действительно идиот.

Так что в основном я пытаюсь отправить запрос в Fluxpoint API, используя этот код:

async welcome(username, avatarurl, background, membercount, icon, backgroundname, filename){
        let req = {}
        req.username = username;
        req.avatar = avatarurl;
        if (background == null) {req.background = "#aaaaaa"} else {req.background = background}
        if (membercount) req.members = "Member #"+membercount
        if (icon) req.icon = icon
        if (backgroundname) req.banner = backgroundname
        console.log(req)
        let usedClient = axios.create({
            baseURL: apiUrls[0],
            timeout: 5000,
            headers: {
                'Authorization': this.token,
                'Content-Length': 0,
                'Content-Type': 'application/json'
            },
            data: JSON.parse(req),
            responseType: 'arraybuffer'
        })
        console.log(usedClient)
        console.log(apiUrls[0]+api1endpoints[1])
        let res = await usedClient.get(api1endpoints[1])
        return res
    }

Вот код, который я использую для его тестирования:

const fluxpoint = require('./index')
const Client = new fluxpoint.Client("my fluxpoint token")

async function tt(){
    let t = await Client.welcome("Koro~ (Baka)#7963", "https://cdn.discordapp.com/avatars/304541381798658048/36806f6ae648b9ebc8303443b0be101c.png", "#FFFFFF", 1, "neko", "space")
    console.log(t)
}
tt()

И вот ошибка, которую API Fluxpoint отправляет мне:

Failed to parse json, The input does not contain any JSON tokens. Excepted the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.

Я перепробовал все, но JSON .parse (мои данные) отправляет мне Unexcepted token o in JSON at position 1

Я в отчаянии и надеюсь, что кто-то может помочь я!

1 Ответ

2 голосов
/ 20 марта 2020

Кажется, вы анализируете raw json. Выдает ошибку

JSON .parse принимает строку в качестве параметра.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

А из официального списка c вы не можете использовать данные в запросе на получение.

https://github.com/axios/axios#request -config

 // `data` is the data to be sent as the request body
  // Only applicable for request methods 'PUT', 'POST', and 'PATCH'
  // When no `transformRequest` is set, must be of one of the following types:
  // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
  // - Browser only: FormData, File, Blob
  // - Node only: Stream, Buffer
  data: {
    firstName: 'Fred'
  }

Поэтому попробуйте передать data

let res = await usedClient.get(api1endpoints[1],{
  params: {
    data: res
  }
})

Я тестировал конечную точку, она работает, только если responseType имеет значение 'text' или 'stream'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...