2014-06-05 5 views
0

안녕하세요, mulitplie 통화에 많은 시간이 걸리기 때문에 1에서 멀티 플레이 게임 -Achievmentlist를 사용하겠습니다.Steam api는 1 회의 통화로 멀티플 게임 달성 및 스키마 목록을 얻습니다.

일반적으로 사용자의 게임 목록을 가져온 다음 foreach the xml 파일을 통해 모든 게임을 호출합니다.

$url5 = http://steamcommunity.com/id/projacore/games/?xml=1'; 
print $url5; 
$data5 = file_get_contents($url5); 
$xml5 = simplexml_load_string($data5); 
foreach ($xml5->games->children() as $item5){ 

$dasgame = htmlentities($item5->appID); 

$url8 = 'http://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v0002/?key=' . $steam_api . '&appid=' . $item5->appID . '&l=german&format=xml'; 
$data8 = file_get_contents($url8); 
$xml8 = simplexml_load_string($data8); 


$url11 = 'http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?appid=' . $dasgame . '&key=' . $steam_api . '&steamid=' . $item5->appID . '&l=german&format=xml'; 
$data11 = file_get_contents($url11); 
$xml11 = simplexml_load_string($data11); 

//and the rest of the code 
} 

사용자가 50 개의 게임을 가지고있을 때 스팀에서 50 번 데이터를 호출하기 때문에 너무 많은 시간이 걸립니다.

이제 전화 한 번으로 곱하기 성과를 얻을 수 있습니까? 이 같은

:

http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?appid=240,400,10&key=' . $steam_api . '&steamid=' . $steamid64 . '&l=german&format=xml 

감사에 앞서

참조 :

답변

0

아니요. 불가능합니다. Steam API를 사용하면 한 번에 하나의 게임 (appid) 만 쿼리 할 수 ​​있습니다.

'느려짐'을 피하려면 AJAX 결과를 통해 웹 페이지를 채울 수 있습니다. 이렇게하면 서버는 결과를 다시 수신하므로 한 번에 하나씩 통계를로드합니다.

간단한 작업 흐름 : 그들은 현재

  • 새로운 페이지가로드처럼

    • 사용자가 값을 입력. 이 페이지에, div는 사용자가 결과로 각 appid
    • 에 대해 별도의 아약스 호출 오프
    • 페이지 화재 (단일 API 호출로 찾는이 간단해야한다)을위한 게임이있는 각 appid 만들어집니다 반환, 반환 된 결과와 관련된 div는 사용자에게

  • 을 채워, 당신이 모든 것을 완전히 반환하기 전에 일부 데이터를 제시 여전히 결과를 검색되지만 분명해야한다.

    +0

    다음은 동적으로 'div'를 새로 고치는 방법에 초점을 맞춘 몇 가지 JQuery 자습서를 살펴볼 것을 제안합니다. Stackoverflow에 대한 설명은 답변에 입력 할 수있는 것 이상의 범위를 넘어 섰습니다. 그것은 당신이하는 일에 따라 매우 광범위한 주제입니다. 그래도 원래 질문에 대답하려면 - 아니요, 각 게임을 개별적으로 쿼리하여 업적 통계를 얻어야합니다. 한 번의 통화로 여러 게임을 쿼리 할 수 ​​없습니다. – Andy