Получите steamID с помощью Steam API, используя javascript

Nov 12 2020

Во-первых, извините, если этот вопрос «плохой»; Я новичок в мире веб-приложений, API и Javascript.

Как видно из названия, я пытаюсь получить SteamID пользователя с помощью Steam API, используя javascript.

Это для веб-приложения, которое должно получать информацию об играх, в которые играет пользователь. (Что, насколько я понимаю, можно получить только с помощью этого специального идентификатора.)

Мои первоначальные мысли о том, как это сделать, заключались в использовании openID, чтобы пользователь передавал Steam свою информацию, а идентификатор возвращался в мое приложение.

Я видел множество примеров этого с использованием php; однако из-за требований проекта все должно запускаться в браузере. Нет никакого внутреннего сервера, на котором можно было бы даже запускать php, так что это вообще не вариант.

Я потратил лучшую часть дня, пытаясь понять это, и не добился реального прогресса, кажется, все возвращается к использованию php. (может быть, то, что мне нужно в соответствии с моими требованиями, невозможно?) Так что пример или что-нибудь действительно было бы очень признательно.

Ответы

Antfere Nov 12 2020 at 05:14

добро пожаловать в Stack Overflow. Я вижу, вы не понимаете, с чего начать и с чего начать, поэтому вот базовая дорожная карта:

  1. Вам нужно будет сначала связаться со Steam, чтобы получить ключ API.
  2. Следующая часть посложнее для новичка. Вам нужно будет получить node.js, который является менеджером пакетов. По сути, это большая библиотека программ javascript, которую вы можете импортировать в свою собственную программу для работы. Одним из этих так называемых «пакетов» является openid-client, который представляет собой реализацию openID, которую вы можете добавить на свой сайт. Пользователи нажимают кнопку openID на вашем сайте, она перенаправляет их на серверы Steam, они входят в систему, после чего ваш сайт получает их информацию, не передавая вам их имя пользователя или пароль.
  3. Теперь, когда у вас есть SteamID и API-ключ, ваша программа может ввести их в URL-адрес, который Steam предоставляет для получения собственных игр. Вы можете ввести этот заполненный URL-адрес в fetch или axios (другой пакет узла, который может запрашивать данные с серверов), и он будет отвечать играми, принадлежащими пользователю, в формате json.

Вот список ресурсов, которые помогут вам начать:

  1. https://steamcommunity.com/dev
  2. https://nodejs.org/en/
  3. https://www.npmjs.com/package/openid-client
  4. https://www.npmjs.com/package/node-fetch OR https://www.npmjs.com/package/axios
  5. https://developer.valvesoftware.com/wiki/Steam_Web_API#GetOwnedGames_.28v0001.29

Я предлагаю прочитать документацию по каждой из этих ссылок и посмотреть, есть ли какие-либо учебные пособия на YouTube, которые пытаются сделать то, что вы делаете с этими технологиями, чтобы помочь вам реализовать их как новичок. В целом по каждой из этих технологий можно многому научиться, но если вы будете ориентироваться с помощью руководств или учебных пособий, вы добьетесь успеха. Удачи.

MutedOriginal Nov 12 2020 at 05:11

Посмотрите эту страницу: Как получить имя пользователя Steam с помощью SteamWorks API? . Однако похоже, что проблема, с которой вы можете столкнуться, связана с фактическим подключением к API. Что именно вы используете для тестирования? Я знаю по опыту, например, что вы можете подключаться с помощью Postman к различным API и форматировать для них запрос на выбранном языке, включая JS>