Node.js Fetch в Boardgameeek API всегда возвращает 403, несмотря на использование токена API [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Node.js Fetch в Boardgameeek API всегда возвращает 403, несмотря на использование токена API [закрыто]

Сообщение Anonymous »

Я пытаюсь получить информацию о настольной игре из API Boardgameeek XML с использованием node.js. У меня есть действительный токен API, но каждый запрос возвращает запретный ответ 403. < /P>
Вот моя текущая настройка: < /p>
async function getInfoFromBGG(gameId) {

const url = `https://rpggeek.com/xmlapi2/thing?id=${gameId}`

let result
const controller = new AbortController()
const timeoutId = setTimeout(() => controller.abort(), 5000)

try {
const response = await fetch(url, {
headers: {
"Authorization": "Bearer i put my token here",
"User-Agent": "BoardgameAlbum/1.0 (kakosangii@gmail.com)",
"Accept": "application/xml"
}
});

clearTimeout(timeoutId)

if (!response.ok) {
console.log(response)
console.log(`HTTP Error: ${response.status} ${response.statusText}`)
return { error: "Failed to fetch from BGG" }
}

const xml = await response.text()
const parser = new DOMParser()
result = parser.parseFromString(xml, "text/xml")

const item = result.querySelector("item")
if (!item) {
return { error: "Game not found" }
}

return {
id: item.getAttribute("id"),
name: item.querySelector("name[type='primary']")?.getAttribute("value"),
yearPublished: item.querySelector("yearpublished")?.getAttribute("value"),
}

} catch (error) {
clearTimeout(timeoutId)
console.error("Fetch error:", error)
if (error.name === "AbortError") {
return { error: "Request timed out" }
}
return { error: "Internal server error: " + error.message }
}
}
< /code>
Тот же код будет работать без каких -либо проблем в браузере, но я должен удалить токен, если я хочу, чтобы код был выполнен идеально. Я пробовал разные подходы, но отметил, что помог. Код не запускается на сервере. Я попробовал несколько подходов, как из бэкэнда, так и из Brandend и Node.js:
Использование из фронта с авторизацией: Заголовки и другие заголовки и другие заголовки. /> Использование пакета BGG-XML-API-Client в node.js. < /p>
подтвердил, что токен API действителен и не истек. Node.js, даже с правильными заголовками. Существуют ли специальные требования для запросов браузера или запросов сервера с их токеном?

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-using-ap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»