Herkese merhaba arkadaşlar
Bugün sizinle Steam Web Api kullanımını konuşacağız.
öncelikle sizinle 2019 tarihli bir konuyu göstermek istiyorum
Steam Web API Nasıl Kullanılır ?
Merhaba arkadaşlar, Bu konuda sizlerle Steam'ın bizlere sunduğu API endpointlerini inceleyeceğiz. Bu endpointlerin çoğunu kullanmak için Steam API Key'ine ihtiyacınız var. Steam API Key'inizi bu linkte bulunan form'u doldurarak erişebilirsiniz. GetNewsForApp Seçtiğiniz oyunun en...
www.turkhackteam.org
@Hichigo hakkını helal eder inşallah
Steam Api Key Alma:
Bu linke tıklayarak api key alma adresine gidebilirsiniz.
Dokümantasyon:
Steam Community :: Steam Web API Documentation
Peki bu Api ile neler yapabiliriz?
iki basit örnek ile hem genel kullanımı hem dönen verileri göreceğiz.
Örnek 1: Sea of Thieves (XML)
Şimdi sizinle Sea of Thieves oyununa ait son güncellemenin boyutunu, güncelleme notlarını ve sürümünü çekelim.
bu örneğimizde key gerekmemektedir oyununuzun ID'sini bilmeniz yeterli.
Steam App ID Bulma
PHP:
<?php
$xml = new DOMDocument();
$xml->load('https://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=1172620&count=1&maxlength=30000000000000&format=xml');
// api adresimizi veriyoruz appid için https://steamdb.info/apps/ adresini kullanabilirsiniz. maxlength ise çekilen içeriğin kaç karakterlik olacağıdır xml de dönen veri tipi.
$baslik = $xml->getElementsByTagName('title');
$icerik = $xml->getElementsByTagName('contents');
$html = "<ul>";
foreach ($baslik as $bas) {
$html .= "<li>" . $bas->nodeValue . "</li>";
foreach ($icerik as $icer) {
$html .= "<li>" . $icer->nodeValue . "</li>";
}
}
$html .= "</li>";
$newstr = strstr($icer->nodeValue, " Download Size:");
//icerikten gelen verinin ayrıştırılması
echo $newstr;
echo $html;
?>
ÇIKTI
Örnek 2:Kullanıcı bilgisi çekme (JSON)
Şimdi de sizinle Steam ID'sini bildiğiniz bir kullanıcının verilerini çekelim.
Kişinin profiline tıklayıp görebileceğinizi biliyorum ama böylesi daha havalı.
Steam ID bulucu
Örnek 2:Kullanıcı bilgisi çekme (JSON)
Şimdi de sizinle Steam ID'sini bildiğiniz bir kullanıcının verilerini çekelim.
Kişinin profiline tıklayıp görebileceğinizi biliyorum ama böylesi daha havalı.
Steam ID bulucu
PHP:
<?php
$api_key = "XXXXXXXXXXXXXXXXXXX";
//aldığınız api key
$steamid = "XXXXXXXXXXXXXXXXX";
//kişinin steamidsi
$api_url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=$api_key&steamids=$steamid";
//api adresi
$json = json_decode(file_get_contents($api_url), true);
//json
function personaState($state)
//kişinin aktiflik durumu
{
if ($state == 1)
{
return "Online";
}
elseif ($state == 2)
{
return "Busy";
}
elseif ($state == 3)
{
return "Away";
}
elseif ($state == 4)
{
return "Snooze";
}
elseif ($state == 5)
{
return "Looking to trade";
}
elseif ($state == 6)
{
return "Looking to play";
}
else
{
return "Offline";
}
}
?>
<html lang="tr">
<head>
</head>
<body>
<!--jsondan gelen verilerin ekrana yazdırılması-->
<h1><?=$json["response"]["players"][0]["personaname"];?></h1>
<img src="<?=$json["response"]["players"][0]["avatarfull"];?>">
<ul>
<li>SteamID64: <?=$json["response"]["players"][0]["steamid"];?></li>
<li>Display Name: <?=$json["response"]["players"][0]["personaname"];?></li>
<li>URL: <?=$json["response"]["players"][0]["profileurl"];?></li>
<li>Status:- <?= personaState($json["response"]["players"][0]["personastate"]) ?></li>
<li>Real Name: <?=$json["response"]["players"][0]["realname"];?></li>
<li>Joined: <?=date('d M Y H:i:s Z',$json["response"]["players"][0]["timecreated"]);?></li>
<!--steam apisi tarih olarak unix time yani Ocak 1970'ten beri geçen saniye sayısına denilen sayısal veri tipini döndürüyor bu da onun çevirilmiş hali-->
<li>Country: <?=$json["response"]["players"][0]["loccountrycode"];?></li>
</ul>
</body>
</html>
ÇIKTI
Kişinin oyun süreleri, oyunlarda kazandığı başarımlar ve başka bir sürü veriyi de benzer yöntemler ile çekebiliyorsunuz.
verdiğim doküman ve örneklerin işinize yaraması dileğiyle.
Okuduğunuz için teşekkürler.
Kişinin oyun süreleri, oyunlarda kazandığı başarımlar ve başka bir sürü veriyi de benzer yöntemler ile çekebiliyorsunuz.
verdiğim doküman ve örneklerin işinize yaraması dileğiyle.
Okuduğunuz için teşekkürler.