Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
 Аватар для Armando111
2 / 1 / 2
Регистрация: 07.02.2014
Сообщений: 246

Steam API список игр пользователя

10.08.2016, 22:25. Показов 5574. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$url = file_get_contents_curl("http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=".$steamauth['apikey']."&steamid=".$_SESSION['steamid']."&format=json");
        $content = json_decode($url, true);
        //foreach($content['response']['games'][0]['appid'] as $appid)
        //foreach($content->result->games as $appid)
        $appid = array();
        for($i=0;i<$content->result->game_count;$i++)
        {
        //$_SESSION['games'] = $appid;
        $appid[] = $content['response']['games'][$i]['appid'];
        $stringRequest = implode(",", $appid);
        $_SESSION['games'] = $appid[2];
//в другом файле выводиться переменная $_SESSION['games']
        }
Вот так я пытаюсь сделать, но ничего не работает.
Мне нужно узнать есть ли нужная мне игра у пользователя.
Но пока что пытаюсь просто узнать какие есть, получилось вывести на экран только первую в списке
вот так
PHP
1
$content['response']['games'][0]['appid'];
по другому ни чего не выводит. в чём проблема?
Что мне делать? Помогите пожалуйста!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2016, 22:25
Ответы с готовыми решениями:

Steam API, получение ID пользователя
В общем у меня на сайте есть функция &quot;использовать аватар из Steam&quot;, но вот я не очень в нем разобрался, и для пользователей, которые хотят...

Steam API - как можно получить медиану цен через API?
Ребят, как можно получить медиану цен через API ? Интересует количество продаж за последний день. Инфу по предмету получаю таким...

Запуск игр steam
Всем привет, у меня Linux Mint 17.1, установил доту, когда включается вижу красный экран, не подскажите что делать? Ссылка на скрин: ...

6
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
10.08.2016, 23:55
Armando111, вам вообще просто вывести нужно на экран? или получить и загнать в массив какой нибудь?

Я вот тут попробовал, все нормально выводится:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$key = '...';
$userid = '76561198082233645';
 
$url = file_get_contents('http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key='. $key .'&steamid='. $userid .'&format=json');
 
$content = json_decode($url);
$coin = $content-> response -> game_count;
 
 
for ($i = 0; $i < $coin; $i++) {
 
$appid = $content-> response -> games[$i] -> appid;
 
echo $appid . '<br>';
 
}
Сразу оговорюсь, в PHP я новичок
0
 Аватар для Armando111
2 / 1 / 2
Регистрация: 07.02.2014
Сообщений: 246
11.08.2016, 19:28  [ТС]
Почему то вот тут у меня работает только с 0 вместо $i
PHP
1
$appid = $content-> response -> games[$i] -> appid;
Добавлено через 2 минуты
Цитата Сообщение от Armando111 Посмотреть сообщение
Почему то вот тут у меня работает только с 0 вместо $i
Нет, теперь вообще не работает

Добавлено через 8 минут
PHP
1
2
3
4
5
6
7
 $coin = $content['response']['game_count'];
        for($i=0;$i<$coin;$i++)
        {
 
        $appid = $content['response']['games'][$i]['appid'];
        $_SESSION['games'] = $appid;
}
Вот, вот так вот только выводит последний элемент.

Добавлено через 5 минут
Теперь такая проблема, как мне найти есть ли нужная игра? Вот это не работает
PHP
1
2
3
if($appid=='730'){
        $_SESSION['games'] = $appid;
        }
Добавлено через 18 часов 43 минуты
#UP
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
11.08.2016, 22:14
Armando111, простите что забросил вашу тему.

Необходимо получить данные через цикл и сразу заносить их в массив с ключом вида и дальше работать только с массивом данных для сравнения и прочей выборки:

PHP
1
2
3
$arr[0] = "730"; 
$arr[1] = "450"; 
$arr[2] = "9630";
Дальше искать по критериям в массиве через например array_search().

Но это я так виду ситуацию.

Кстати, вот такой вариант у меня работает, но почему то для всех значений у меня один ключ "0". Тем самым, искать в массиве не получается. Нужно просто это доработать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
$key = 'D47AF98B4CD8AD60549C0367885BB4E6';
$userid = '76561198082233645';
 
$url = file_get_contents('http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key='. $key .'&steamid='. $userid .'&format=json');
 
$content = json_decode($url, true);
$appid = array();
 
$coin = $content['response']['game_count'];
for ($i = 0; $i < $coin; $i++) {
$appid = $content['response']['games'][$i]['appid'];
 
$arr = explode(", ", $appid);
print_r($arr);
}
 
/* 
 
вот так можно сравнить, но работает очень криво
 
$selectgame = current($arr);
 
    if ($selectgame == '4500') {
        echo 'Уже есть!';
    }
}
*/
Но моих мозгов не хватает. Лучше напишите в раздел https://www.cyberforum.ru/php-beginners/. Там чаще помогают
0
 Аватар для Armando111
2 / 1 / 2
Регистрация: 07.02.2014
Сообщений: 246
11.08.2016, 23:07  [ТС]
А есть кто нибудь тут кто в этом разбирается?
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
12.08.2016, 02:47
Лучший ответ Сообщение было отмечено Armando111 как решение

Решение

Armando111, я не знаю как, но я что-то сделал и оно работает. Правда статично, но думаю подставляя ваши $_SESSION данные, все должно получиться.

Получаем JSON -> Формируем из данных цикла массив -> Ищем совпадения в массиве - по результату совпадений, выводим сообщение.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
$key = '...'; // свой ключ
$userID = '76561198082233645';
 
global $getID;
       $getID = '311340'; // сюда вы будете принимать значение
 
$url = file_get_contents('http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key='. $key .'&steamid='. $userID .'&format=json');
$content = json_decode($url);
 
$coin = $content-> response -> game_count;
$arr = array();
for ($i=0; $i < $coin; $i++) {
 
$appid = $content-> response -> games[$i] -> appid; // получаем appid игры из JSON
 
array_push($arr, $appid); // добавляем данные из цикла в массив
}
 
// начинаем проверять, есть ли игра у пользователя
if (in_array($getID, $arr)) {
    echo 'Игра с appid ' .$getID. ' есть у пользователя!';
} else {
    echo 'Игры с id ' .$getID. ' у пользователя нет!';
}
На всякий случай, прикладываю свой *.php файл.
Вложения
Тип файла: rar get1.rar (650 байт, 9 просмотров)
1
 Аватар для Armando111
2 / 1 / 2
Регистрация: 07.02.2014
Сообщений: 246
13.08.2016, 14:25  [ТС]
Спасибо, теперь всё работает. У меня оказывается в функции json_decode параметр второй стоял true, из-за этого ни чего не работало. Теперь всё отлично. Спасибо большое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2016, 14:25
Помогаю со студенческими работами здесь

Steam и Api
Здравствуйте!Для общего развития решил сделать сайт,поставить авторизацию через стим по данной статье...

Steam API
Здравствуйте!!! Возник такой вопрос: нужно сделать мониторинг сервера одной игры (Steam-версия) что-то вроде этого: http://steamserv.ru/....

Steam api
https://www.cyberforum.ru/php-api/thread1115049.html вот статья по поводу стим апи(регистрация) Хотел попробовать но возникли проблемы...

Запуск игр под Steam!
Добрый вечер уважаемые форумчане. С недавних пор, стал пользователем Linux Mint 17 &quot;Qiana&quot;.(как я понимаю, сборка под Ubuntu...

Работа со steam api
Всем привет. Никак не могу разобраться, как работать со steam api. Может кто-нибудь рассказать, как узнавать цену определенного предмета на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru