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
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;
|
|
}
|
|
}
|
|
}
|
|
|