Работа с API

DOVE

GLite Inc.
Сообщения
296
Реакции
54
Как работать с steamcdn-a.akamaihd.net под виндой? где найти бибилиотеку?
Нашел гайд steam-api-web, но у меня винда. Может есть другой, более быстрый способ получить аватарку через api?
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
Тут все есть: Steam Web API - Valve Developer Community
Делаете запрос - парсите ответ. Максимально просто.
дело в том, что апи валве работает со скоростью убитого ленивца. Я пишу чат, и мне важно выводить >100 аватарок на странице. Прелоадеры это уже второй план.
Я заметил что https://steamcdn-a.akamaihd.net/ste.../de064797c80f7a22d21211c3acd32ea55457911f.jpg эта аватарка грузится быстро, но не знаю как обратиться к этому сайту
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
Т.е. косвенное использование API - гораздо быстрее(аля библиотека в 1 посте), чем использование его напрямую?
на сколько я понимаю есть сервисы дублирующие базу Valve и позволяющие использовать свое api в разы быстрее. Ссылку в посте выше я нашел на каком-то сайте, где было около 30 фото стим профилей тот блок загружался моментально, как и сама страница
Я пишу страницу обмена сообщениями между сервером и сайтом. Было бы круто отображать вместо ника - аватарку автора сообщения. Но проблема в том, что это чат, и тут будет более 50 сообщений сразу, + подрузка еще по 50 при прокрутке вверх
Если интересно, то вот мини версия чата Главная страница | GLITE SERVERS
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #7
@Skeriiz, возможно он имел в виду кеширование.

@DOWE, нет, таких нет. Если аватарок много - имеет смысл кешировать их на сутки.
Т.е. при получении аватарки сохранить её куда-нибудь на сутки, и при необходимости, сначала заглянуть в кеш, и уже потом к Вентилям стучаться.
Так сделано в Материале, например. Все аватарки сохраняются в базе.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #9
@DOWE, смотря на чём.
Но в принципе, если язык имеет поддержку, никто не запрещает Вам в отдельных потоках делать запросы к API.
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
Ок, а как тогда настроить серверное кеширование для картинок из api? Обычное через htaccess не помогает
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #11
@DOWE, сначала определитесь с чем вы будете работать, вам может что-то и порекомендуют.
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
@DOWE, сначала определитесь с чем вы будете работать, вам может что-то и порекомендуют.
Я не знаю что лучше использовать. Пока что я сделал кеширование фалов аватарки на сайт с проверкой https://glite.ru/chat/
В идеале еще следать многопоточный запрос к api
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #13
@DOWE, распараллелить один запрос не выйдет.
Вы можете распараллелить несколько запросов (одни запрос - один поток), не более.
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
@Крузяра, есть запрос: api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXX&steamids=STEAMID
Но можно сделать api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXX&steamids=STEAMID,STEAMID,STEAMID,STEAMID и так до 100 запросов
Проблема в том, что у меня не выходит записать STEAMID в массив и выводить одной переменной
У меня не так много опыта в php, поэтому я не понимаю как может работать многопоточность запроса если у меня цикц выборки из MySQL и каждая аватарка обрабатывается по порядку из таблици
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #15
@DOWE, не вижу никакой проблемы.
Допустим, $SteamIds содержит SteamID уже в нужном виде:
PHP:
$SteamIds = [
  '7656....',
  '7656....',
  // etc...
];

В таком случае, используем implode(), чтобы сцепить все элементы массива с разделителем в виде запятой:
PHP:
$SteamIds = implode(',', $SteamIds);
На выходе получаем строку, где все SteamID уже записаны через запятую.
 

DOVE

GLite Inc.
Сообщения
296
Реакции
54
@Крузяра, в теории это выглядет хорошо. Но на практике...
я не могу записать в $SteamIds = []; из
PHP:
while ($result = mysqli_fetch_assoc($query_chat))
У меня цикл записей переменных, которые выводятся тут же и создают нечто:
upload_2018-12-28_18-49-30.png
upload_2018-12-28_18-51-42.png
 
Сверху Снизу