Steam API Access-Control-Allow-Origin Issue

Немного новичок в веб-программировании и немного запутался в этом. У меня есть базовый экспресс-узел node.js, обслуживающий веб-сайт. Я хочу передать gameid функции и получить от него информацию о достижениях из steam, используя их веб-API, которые должны поддерживаться с помощью следующего вызова REST API:

https://developer.valvesoftware.com/wiki/Steam_Web_API#GetGlobalAchievementPercentagesForApp_.28v0002.29

У меня есть файл сценария, который я получаю. Я пытаюсь сделать запрос в файле на стороне клиента, например.

function GetSteamGameAchievements(appid)
{
   var request = new XMLHttpRequest();

    request.addEventListener('load',function(){

       console.log(JSON.stringify(this.responseText));

    });

    request.open("GET","http://api.steampowered.com/ISteamUserStats/GetGlobalAchievementPercentagesForApp/v0002/?gameid="+ appid + "&format=json",true);

    request.send(null);
}

Я получаю следующую ошибку

XMLHttpRequest не может загрузитьhttp://api.steampowered.com/ISteamUserStats/GetGlobalAchievementPercentagesForApp/v0002/?gameid=440&format=json, В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». ПроисхождениеHTTP: // локальный: 3000Поэтому не допускается доступ.

Я немного читал об ошибке, но, похоже, она требует изменения кода на стороне сервера или чего-то еще. Хотя весь код на стороне сервера сделал что-то вроде:

// Add headers
app.use(function (req, res, next) {

  // Website you wish to allow to connect
  res.setHeader('Access-Control-Allow-Origin', 'http://api.steampowered.com');

  // Request methods you wish to allow
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

  // Request headers you wish to allow
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');

  // Set to true if you need the website to include cookies in the requests sent
  // to the API (e.g. in case you use sessions)
  res.setHeader('Access-Control-Allow-Credentials', true);

  // Pass to next layer of middleware
  next();
});

Использование Open Weather API, единственного стороннего REST API, с которым я работал, например, с оригинальным кодом, было бы хорошо, поэтому я не уверен, почему API Steam работает неправильно. Используя Postman, строки запросов, которые я отправляю, в порядке, но что-то не так с ценными бумагами, когда я делаю это в своем клиентском javascript ... но не в Open Weather API ... я не уверен, почему он работает для одного но не другой. Любая помощь будет принята с благодарностью, я перебрал некоторые похожие темы, но я думаю, что из-за моей нелюбовь мне трудно понять, где я ошибаюсь, и где необходимо сделать исправление.

Ответы на вопрос(2)

Ваш ответ на вопрос