You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
1.2 KiB

package app.services.steam;
import app.entities.steam.SteamData;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Service
public class SteamWebApi {
private RestTemplate restTemplate;
@Value("${backend.auth.steam_api_key}")
private String webapi_key;
@Autowired
public SteamWebApi(){
restTemplate = new RestTemplate();
}
public SteamData getSteamData(long steam64){
String url = String.format("https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%s", webapi_key, steam64);
try {
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
JsonNode player = (new ObjectMapper()).readTree(response.getBody()).get("response").get("players").get(0);
return new SteamData(player);
} catch (Exception err){
return null;
}
}
}