как узнать свой steam web api
Как узнать свой steam web api
Valve provides these APIs so website developers can use data from Steam in new and interesting ways. They allow developers to query Steam for information that they can present on their own sites. At the moment the only APIs we offer provide item data for Team Fortress 2, but this list will grow over time.
Steam Web APIs available
ISteamNews: Steam provides methods to fetch news feeds for each Steam game.
ISteamUserStats: Steam provides methods to fetch global stat information by game.
ISteamUser: Steam provides API calls to provide information about Steam users.
ITFItems_440: Team Fortress 2 provides API calls to use when accessing player item data.
Obtaining an Steam Web API Key
All use of the Steam Web API requires the use of an API Key. You can acquire one by filling out this form. Use of the APIs also requires that you agree to the Steam API Terms of Use.
Output Formats
Format can be any of:
If you do not specify a format, your results will be returns in the JSON format.
Steam OpenID Provider
Steam can act as an OpenID provider. This allows your application to authenticate a user’s SteamID without requiring them to enter their Steam username or password on your site (which would be a violation of the API Terms of Use.) Just download an OpenID library for your language and platform of choice and use https://steamcommunity.com/openid as the provider. The returned Claimed ID will contain the user’s 64-bit SteamID. The Claimed ID format is: https://steamcommunity.com/openid/id/
Valve Brand and Links
If you are using OpenID on your site, we request that you use one of the following buttons as your link to the Steam sign in page.
Как узнать свой steam web api
Counter-Strike: Global Offensive
Пример:
Форма авторизации открывается в маленьком окне. Поле адреса страницы пустое. Логин и пароль не заполняются автоматически, если сохранены в браузере.
Чуть более продвинутая версия скам формы.Форма авторизации открывается в маленьком окне. Поле адреса поддельное, сделано в виде HTML элемента. Логин и пароль не заполняются автоматически, если сохранены в браузере.
Без действий со стороны пользователя, получить этот ключ невозможно.
Пользователь пополняет какой-нибудь сайт скинами, но деньги на сайт не приходят. Оказалось, он отправил их мошеннику, однако проверочный код трейда совпадал.
Как это происходит?
1) Пользователь нажимает кнопку пополнение счет на сайте
2) Бот сайта присылает пользователю трейд с секретным кодом
4) Мошенник, используя API ключ пользователя, отменяет трейд, который прислал бот настоящего сервиса
5) Мошенник меняет ник своего бота и присылает пользователю трейд с таким же проверочным кодом и с таким же списком вещей.
6) Пользователь принимает трейд, даже не замечая подмены. Процесс скорее всего полностью автоматизирован.
Еще можно попробовать продать что-то дорогое или пополнить счет с помощью SkinPay
Немного о Steam Web Api
Сервис цифровой дистрибуции Steam от компании Valve становится всё более популярным среди игроков. По состоянию на январь 2013, через Steam распространяется более трёх тысяч товаров, на которые действуют ежедневные, срединедельные и скидки на выходные дни, а количество зарегистрированных аккаунтов превысило 60 миллионов.
В настоящее время, в рунете очень мало информации об использовании Steam Api (или же Steam Web Api). В данном топике я расскажу о том, как получать нужную вам информацию из сообщества Steam для интеграции её в свои сайты, блоги или же просто получить информацию о пользователе, не заходя в Steam.
Начнем с главного. После несложных действий, я создал одну php страницу, которая, по запросу имени пользователя, либо SteamID или SteamcommunityID, выводит множество подробной информации о профиле Steam. Информации там намного больше, чем предоставляют аналогичные англоязычные сервисы.
Посмотреть работу страницы можно здесь. При желании, можно существенно доработать сервис, например добавить возможность определить, какие игры есть на аккаунте конкретного пользователя, и сколько они стоят (как когда-то делал steamcalculator).
Кому интересен исходный код моей страницы, алгоритм определения типа вводимых данных или алгоритм перебора одинаковых xml параметров, можете написать мне тут, или в контактной информации на той странице.
Открываем капот Steam
Информацию о пользователе Steam можно получить несколькими способами. Наиболее популярные из них, это:
— использовать именно Steam Web Api, который предлагают они нам сами (но предоставленной информации там увы не много)
— получать и обрабатывать данные сообщества напрямую, в формате xml.
— получать и обрабатывать данные сообщества напрямую, в формате json.
Первый способ мне не особо интересен, я пользовался сразу двумя оставшимися.
XML
Получить информацию о пользователе довольно просто. Достаточно лишь ввести в адресную строку браузера запрос в виде:
steamcommunity.com/profiles*SteamID*/?xml=1
Например:
steamcommunity.com/profiles/76561198036370701/?xml=1
(к слову, если пользователь имеет CustomURL, то адрес ссылки изменится с «. /profiles/*SteamID*/. » на «. /id/*CustomURL*/. «)
Эту страницу можно ловить и обрабатывать при помощи cURL или (что для меня проще) функции simplexml_load_file();, например:
$slf = «http://steamcommunity.com/profiles/76561198036370701/?xml=1»;
$url = simplexml_load_file($slf);
JSON
Прежде всего вам понадобится apikey. Зарегистрировать его можно здесь.
Получать и обрабатывать эти данные можно командой file_get_contents, а в последствии сконвертировать всё в массив примерно вот таким способом:
$urljson = file_get_contents(«http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=*apikey*&steamids=*steamid*»);
$data = (array) json_decode($urljson)->response->players[0];
Например:
$urljson = file_get_contents(«http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=38A3BEAE3EFA726E4438207D08CB0EC7&steamids=76561198036370701»);
$data = (array) json_decode($urljson)->response->players[0];
А выводить, например содержимое блока profileurl строчкой кода:
Подводим итог
Методы получения информации о пользователе Steam не ограничиваются теми, что я привел. Те ссылки, которыми я получал данные используются только для получения суммарной (общей) информации. Отдельно можно получать список игр пользователя, список друзей, список групп, предметов инвентаря и мастерской и многое другое.
На основе полученных данных можно также сделать сервис генерации баннеров, юзербаров, профайлов для форумов и блогов, по аналогии с сервисом steamprofile.
Из недостатков работы сервиса можно выделить то, что в пик нагруженности серверов Steam, для получения информации о пользователе время запроса данных может колебаться от 0,1 до 12 секунд, а также часто втречается ошибка 503 (сервис недоступен), приходится отправлять запрос заново. Как вариант решения проблемы — не отправлять запрос чаще, чем раз в 10 секунд. Если у вас есть другие способы решения проблемы, пишите.
Как узнать свой steam web api
Counter-Strike: Global Offensive
Угон вещей с помощью API ключа Steam
Что происходит
Пользователь пополняет какой-нибудь сайт скинами, но деньги на сайт не приходят. Оказалось, он отправил их мошеннику, однако проверочный код трейда совпадал.
Как это происходит?
1) Пользователь нажимает кнопку пополнение счет на сайте
2) Бот сайта присылает пользователю трейд с секретным кодом
4) Мошенник, используя API ключ пользователя, отменяет трейд, который прислал бот настоящего сервиса
5) Мошенник меняет ник своего бота и присылает пользователю трейд с таким же проверочным кодом и с таким же списком вещей.
6) Пользователь принимает трейд, даже не замечая подмены. Процесс скорее всего полностью автоматизирован.
Что такое API ключ?
Это комбинация цифр и букв, которая дает доступ действиям над аккаунтом Steam. Конкретно мошенники используют его для получения информации о трейдах и для их отмены.
Ниже приведены примеры таких поддельных форм.
Форма авторизации открывается в маленьком окне. Поле адреса страницы пустое. Логин и пароль не заполняются автоматически, если сохранены в браузере.
Чуть более продвинутая версия скам формы.Форма авторизации открывается в маленьком окне. Поле адреса поддельное, сделано в виде HTML элемента. Логин и пароль не заполняются автоматически, если сохранены в браузере.
Без действий со стороны пользователя, получить этот ключ невозможно.
Как проверить не взломан ли мой аккаунт?
Зайдите сюда https://steamcommunity.com/dev/apikey и проверьте сгенерирован ли у вас на аккаунте API ключ.
Если если там есть ключ и вы его не создавали САМОСТОЯТЕЛЬНО (или его не создала программа market.app) то ваш аккаунт 100% взломан.
Еще можно попробовать продать что-то дорогое или пополнить счет с помощью SkinPay
Как вернуть предметы которые переданы через поддельный трейд?
Никак.
Зайдите сюда https://store.steampowered.com/twofactor/manage и нажмите «Выйти на всех других устройствах»
После этого смените пароль в Steam и обязательно следите за тем, чтобы API ключ не появился вновь.
Как узнать свой steam web api
Введение
В Steam встроен основанный на HTTP веб-API, который может использоваться для доступа ко многим функциям Steamworks. Этот API содержит публичные методы, доступ к которым может получить любое приложение, способное отправить HTTP-запрос: к примеру, игровой клиент или сервер. Он также содержит защищённые методы, которые требуют аутентификации, и доступ к ним могут получить доверенные бэкенд-приложения.
Формат запроса
Как и API Steamworks на С++, веб-API разделён на множество интерфейсов, содержащих связанные методы. Формат URI для запроса к API таков:
Большинство методов поддерживают несколько обязательных и необязательных параметров. В зависимости от метода эти параметры необходимо отправлять в запросе как параметр GET или POST.
Аутентификация
Массивы параметров
Служебные интерфейсы
Обратите внимание, что JSON должен быть закодирован в виде URL. Поля key и format по-прежнему передаются как отдельные параметры. Запросы POST также поддерживаются.
Определить, является ли метод служебным, можно по названию: если в окончании названия есть «Service» ( к примеру IPlayerService), то метод поддерживает дополнительный способ передачи параметров. Параметры некоторых служебных методов имеют более сложную структуру, и для них обязателен этот дополнительный способ.
Пример запроса
В следующем примере запрос возвращает 3 последние новости о Team Fortress 2.
Запрос уточняет, что ответ должен быть в формате JSON, и включает в себя обязательный параметр appid (AppID Team Fortress 2 равен 440) и необязательный параметр — число возвращаемых результатов.
Дополнительная информация об этом вызове доступна здесь: ISteamNews/GetNewsForApp
Получение Steam ID пользователя
Соображения об адресах узлов веб-API и брандмауэрах
Публичный веб-API ( api.steampowered.com ) находится за пограничным сервером кэширования Akamai, так что IP-адреса, которые вы увидите, будут разниться в зависимости от того, где вы находитесь, а также от других факторов. IP-адреса могут часто меняться, так что если вы выполняете запросы из-за брандмауэра, ограничивающего исходящие запросы, продолжайте читать.
Список разрешений для IP-адресов
Мы позволяем добавлять в список разрешений IP-адреса для вызовов веб-API. Это дополнительный слой защиты на случай того, если ваш ключ веб-API попадёт в чужие руки. Он делает так, что принимаются только вызовы веб-API с разрешённых IP-адресов. Когда в список разрешений будет добавлен любой IP-адрес, запросы с остальных адресов будут блокироваться и возвращать ответ 403 (доступ запрещён).
Добавлять IP-адреса в список разрешений просто. На любой странице группы, у которой есть ключ веб-API, нажмите на кнопку «Управление ключом веб-API» и следуйте дальнейшим инструкциям.
У каждого ключа веб-API свой список разрешений, и добавлять в него что-либо необязательно.
Обратите внимание: добавление в список разрешений не гарантирует защиту ключа веб-API. Защищайте свой ключ и никому его не сообщайте, а если он попал в чужие руки — немедленно смените его.