Не могу заставить API Steam показывать аватар при входе в систему

Я использовал это руководство для реализации входа в Steam для веб-сайта, который я создаю: //github.com/SmItH197/SteamAuthentication/blob/f47fc78056081d6a83d277ae447c5386dc0909fc/README.md . Проблема в том, что когда я вхожу в систему, он не отображает никакой информации, только кнопку выхода. Вот код, с которым я имею дело.

if(isset($_SESSION['steamid'])){

    include("settings.php");
    if (empty($_SESSION['steam_uptodate']) or $_SESSION['steam_uptodate'] == false or empty($_SESSION['steam_personaname'])) {
        //We mute alerts from the following line because we do not want to give away our API key in case file_get_contents() throws a warning.
        @ $url = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".$steamauth['apikey']."&steamids=".$_SESSION['steamid']);
        if($url === FALSE) { die('Error: failed to fetch content form Steam. It may be down. Please, try again later.'); }
        $content = json_decode($url, true);
        $_SESSION['steam_steamid'] = $content['response']['players'][0]['steamid'];
        $_SESSION['steam_communityvisibilitystate'] = $content['response']['players'][0]['communityvisibilitystate'];
        $_SESSION['steam_profilestate'] = $content['response']['players'][0]['profilestate'];
        $_SESSION['steam_personaname'] = $content['response']['players'][0]['personaname'];
        $_SESSION['steam_lastlogoff'] = $content['response']['players'][0]['lastlogoff'];
        $_SESSION['steam_profileurl'] = $content['response']['players'][0]['profileurl'];
        $_SESSION['steam_avatar'] = $content['response']['players'][0]['avatar'];
        $_SESSION['steam_avatarmedium'] = $content['response']['players'][0]['avatarmedium'];
        $_SESSION['steam_avatarfull'] = $content['response']['players'][0]['avatarfull'];
        $_SESSION['steam_personastate'] = $content['response']['players'][0]['personastate'];
        if (isset($content['response']['players'][0]['realname'])) { 
               $_SESSION['steam_realname'] = $content['response']['players'][0]['realname'];
           } else {
               $_SESSION['steam_realname'] = "Real name not given";
        }
        $_SESSION['steam_primaryclanid'] = $content['response']['players'][0]['primaryclanid'];
        $_SESSION['steam_timecreated'] = $content['response']['players'][0]['timecreated'];
        $_SESSION['steam_uptodate'] = true;
    }

    $steamprofile['steamid'] = $_SESSION['steam_steamid'];
    $steamprofile['communityvisibilitystate'] = $_SESSION['steam_communityvisibilitystate'];
    $steamprofile['profilestate'] = $_SESSION['steam_profilestate'];
    $steamprofile['personaname'] = $_SESSION['steam_personaname'];
    $steamprofile['lastlogoff'] = $_SESSION['steam_lastlogoff'];
    $steamprofile['profileurl'] = $_SESSION['steam_profileurl'];
    $steamprofile['avatar'] = $_SESSION['steam_avatar'];
    $steamprofile['avatarmedium'] = $_SESSION['steam_avatarmedium'];
    $steamprofile['avatarfull'] = $_SESSION['steam_avatarfull'];
    $steamprofile['personastate'] = $_SESSION['steam_personastate'];
    $steamprofile['realname'] = $_SESSION['steam_realname'];
    $steamprofile['primaryclanid'] = $_SESSION['steam_primaryclanid'];
    $steamprofile['timecreated'] = $_SESSION['steam_timecreated'];

}

Что я хочу, так это то, что когда кто-то входит в систему, где была кнопка входа, я хочу показать имя Steam, а также аватар того, кто вошел в систему.


person shadowz    schedule 28.06.2015    source источник
comment
Вы ничего не повторяете и не печатаете в своей программе.   -  person Digits    schedule 28.06.2015
comment
Об этой строке с @: если ваши пользователи могут видеть предупреждения, выдаваемые PHP, раскрытие вашего ключа API должно быть наименьшей из ваших забот.   -  person SeinopSys    schedule 28.06.2015


Ответы (1)


Вы читали документацию? Чтобы показать аватар, сделайте следующее:

$steamprofile['avatar'] //  32x32 version of avatar
$steamprofile['avatarmedium'] // 64x64 version of avatar
$steamprofile['avatarfull'] // 184x184 version of avatar

Чтобы отобразить имя пользователя Steam, сделайте следующее:

$steamprofile['personaname']

Это все написано в файле README.md внизу.

РЕДАКТИРОВАТЬ: Если вы хотите показать изображение, сделайте что-то вроде этого:

echo '<img src="' . $steamprofile['avatar'] . '" />';

Это поместит URL-адрес изображения из $steamprofile['avatar'] в элемент <img>.

person MortenMoulder    schedule 28.06.2015
comment
У меня есть очень базовые знания PHP, что меня смущает, где разместить $steamprofile['avatar'] - person shadowz; 28.06.2015
comment
Он вернет URL-адрес изображения. Если вы хотите показать изображение, проверьте мое редактирование. - person MortenMoulder; 28.06.2015