API: mostrar perfiles de Xbox Live en tu sitio web

Email this to someoneShare on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

A pesar de no disponer de API oficial de Microsoft para acceder a la información de los perfiles de usuarios de Xbox Live, en XBoxLeaders.com han logrado crear una API que muestra parte de la información de los perfiles de usuarios de Xbox Live en nuestro sitio web. Entre los datos que se muestran están: ID de usuario, avatar, nombre, bio, localización, estados… y lo más interesante, los 5 últimos juegos de XBOX 360 a los que hemos jugado.

Este es el aspecto de la ficha que conseguiremos mostrar con la siguiente API (ver demostración de la ficha)

usuario-XBox-Live

Por suerte es muy sencilla de utilizar: enviamos el gamertag ID de usuario en Xbox Live) y el tipo de respuesta que deseas:

// Configuración (aquí debes reemplazar “gamer” por el gamertag que desees)
$gamertag = ‘gamer’;
$profileUrl = ‘http://api.xboxleaders.com/v2/?format=json&gamertag=’.$gamertag;
// Información sobre gamertag
$info = file_get_contents($profileUrl);
// Para JSON
$json = json_decode($info);
$user = $json->user;

La respuesta se mostrará de la siguiente forma:

{
“user”:{
“gamertag”:”gamer”,
“is_valid”:1,
“profile_link”:”http://live.xbox.com/member/gamer”,
“launch_team”:{
“xbl”:0,
“nxe”:0,
“kinect”:0
},
“account_status”:”Gold”,
“gender”:”Male”,
“is_cheater”:0,
“online”:0,
“online_status”:”Last seen 2 minutes ago playing Xbox.com”,
“avatars”:{
“gamer_tile”:”http://image.xboxlive.com/global/t.fffe07d1/tile/0/2000b”,
“small_gamerpic”:”http://avatar.xboxlive.com/avatar/gamer/avatarpic-s.png”,
“large_gamerpic”:”http://avatar.xboxlive.com/avatar/gamer/avatarpic-l.png”,
“body_gamerpic”:”http://avatar.xboxlive.com/avatar/gamer/avatar-body.png”
},
“reputation”:100,
“gamerscore”:300,
“location”:”Madison, WI, US”,
“motto”:”Watch your head.”,
“name”:”David Walsh”,
“bio”:”There is, and only can be, Call of Duty.”,
“recent_games”:{
“1”:{
“title”:”Modern Warfare® 3″,
“tid”:1096157387,
“marketplace_url”:”http://marketplace.xbox.com/Title/1096157387″,
“compare_url”:”http://live.xbox.com/en-US/GameCenter/Achievements?title=1096157387&compareTo=gamer”,
“image”:”http://tiles.xbox.com/tiles/63/-y/0mdsb2JhbA9ECgQJGgYfViwhL2ljb24vMC84MDAwIAAAAAAAAP3df-Q=.jpg”,
“large_boxart”:”http://tiles.xbox.com/consoleAssets/415608cb/en-US/largeboxart.jpg”,
“small_boxart”:”http://tiles.xbox.com/consoleAssets/415608cb/en-US/smallboxart.jpg”,
“last_played”:”1321660800″,
“earned_gamerscore”:0,
“available_gamerscore”:1000,
“earned_achievements”:0,
“available_achievements”:50,
“percentage_complete”:0
},
“2”:{
“title”:”Call of Duty ELITE”,
“tid”:1096157336,
“marketplace_url”:”http://marketplace.xbox.com/Title/1096157336″,
“compare_url”:”http://live.xbox.com/en-US/GameCenter/Achievements?title=1096157336&compareTo=gamer”,
“image”:”http://tiles.xbox.com/tiles/S9/J4/0mdsb2JhbA9ECgQJGgYfVlZbL2ljb24vMC84MDAwIAAAAAAAAP1X0lQ=.jpg”,
“large_boxart”:”http://tiles.xbox.com/consoleAssets/41560898/en-US/largeboxart.jpg”,
“small_boxart”:”http://tiles.xbox.com/consoleAssets/41560898/en-US/smallboxart.jpg”,
“last_played”:”1321488000″,
“earned_gamerscore”:0,
“available_gamerscore”:0,
“earned_achievements”:0,
“available_achievements”:0,
“percentage_complete”:0
},
“3”:{
“title”:”Call of Duty Black Ops”,
“tid”:1096157269,
“marketplace_url”:”http://marketplace.xbox.com/Title/1096157269″,
“compare_url”:”http://live.xbox.com/en-US/GameCenter/Achievements?title=1096157269&compareTo=gamer”,
“image”:”http://tiles.xbox.com/tiles/RX/0w/1Wdsb2JhbA9ECgQJGgYfVlpWL2ljb24vMC84MDAwIAAAAAAAAPoffVo=.jpg”,
“large_boxart”:”http://tiles.xbox.com/consoleAssets/41560855/en-US/largeboxart.jpg”,
“small_boxart”:”http://tiles.xbox.com/consoleAssets/41560855/en-US/smallboxart.jpg”,
“last_played”:”1320710400″,
“earned_gamerscore”:0,
“available_gamerscore”:1700,
“earned_achievements”:0,
“available_achievements”:71,
“percentage_complete”:0
},
“4”:{
“title”:”FIFA 10″,
“tid”:1161889980,
“marketplace_url”:”http://marketplace.xbox.com/Title/1161889980″,
“compare_url”:”http://live.xbox.com/en-US/GameCenter/Achievements?title=1161889980&compareTo=gamer”,
“image”:”http://tiles.xbox.com/tiles/ak/w3/1Wdsb2JhbA9ECgQNGwEfVi0gL2ljb24vMC84MDAwIAAAAAAAAPoYTHU=.jpg”,
“large_boxart”:”http://tiles.xbox.com/consoleAssets/454108bc/en-US/largeboxart.jpg”,
“small_boxart”:”http://tiles.xbox.com/consoleAssets/454108bc/en-US/smallboxart.jpg”,
“last_played”:”1289088000″,
“earned_gamerscore”:15,
“available_gamerscore”:1250,
“earned_achievements”:1,
“available_achievements”:54,
“percentage_complete”:1
},
“5”:{
“title”:”Rock Band”,
“tid”:1161889833,
“marketplace_url”:”http://marketplace.xbox.com/Title/1161889833″,
“compare_url”:”http://live.xbox.com/en-US/GameCenter/Achievements?title=1161889833&compareTo=gamer”,
“image”:”http://tiles.xbox.com/tiles/IE/Td/0Gdsb2JhbA9ECgQNGwEfVl1aL2ljb24vMC84MDAwIAAAAAAAAP-yRD8=.jpg”,
“large_boxart”:”http://tiles.xbox.com/consoleAssets/45410829/en-US/largeboxart.jpg”,
“small_boxart”:”http://tiles.xbox.com/consoleAssets/45410829/en-US/smallboxart.jpg”,
“last_played”:”1302912000″,
“earned_gamerscore”:10,
“available_gamerscore”:1000,
“earned_achievements”:1,
“available_achievements”:50,
“percentage_complete”:2
}
}
}
}

Como podemos ver, podemos obtener la información básica de la cuenta (nombre de usuario, bio, avatar, etc) pero también existe otra mucha información acerca de los juegos que el usuario ha estado jugando recientemente. También puede obtener enlaces a imágenes tanto del usuario como de estos juegos.

Este es un ejemplo de cómo crear una gamecard con la ficha del perfil Xbox Live de un usuario:

<style>
.gamercard {
border: 1px solid #bdbec1;
padding: 10px;
width: 600px;
font-family: arial, sans-serif;
font-size: 12px;
color: #bdbec1;
background-image: -webkit-linear-gradient(#ddd, #fff, #e9fdce);
background-image: -moz-linear-gradient(top, #ddd, #fff, #e9fdce);
background-image: -ms-linear-gradient(#ddd, #fff, #e9fdce);
background-image: -o-linear-gradient(#ddd, #fff, #e9fdce);
background-image: linear-gradient(#ddd, #fff, #e9fdce);
}
.gamercard img {
display: block;
}
.gamercard .avatar {
float: right;
width: 150px;
height: 300px;
margin: -60px 0 0 50px;
}
.gamercard h1 {
font-weight: normal;
}
.gamercard h1 img {
display: inline-block;
padding-right: 10px;
width: 24px;
height: 24px;
}
.gamercard h1 a {
text-decoration: none;
}
.gamercard h1 a:hover {
background: #bbe6a6;
color: #333;
}
.gamercard h2 {
color: #111;
font-size: 16px;
font-weight: normal;
margin-top: 15px;
}
.gamercard ul {
list-style-type: none;
}
.gamercard ul li {
padding-top: 8px;
}
.gamercard ul li strong {
color: #666;
}
.gamercard ul.games li {
display: inline-block;
margin-right: 20px;
text-align: center;
font-weight: bold;
width: 85px;
vertical-align: top;
}
.gamercard ul.games li img {
margin: 0 auto;
width: 85px;
}
.gamercard a {
color: #78bb58;
}
.gamercard .clear {
clear: both;
}
</style>
<!– gamercard –>
<div>
<!– profile image –>
<img src=”<?php echo $user->avatars->body_gamerpic; ?>” alt=”<?php echo $user->gamertag; ?>” />
<!– gamer name –>
<h1><img src=”<?php echo $user->avatars->gamer_tile; ?>” alt=”<?php echo $user->gamertag; ?>” /><a href=”<?php echo $user->profile_link; ?>”><?php echo $user->gamertag; ?></a></h1>
<!– personal info –>
<h2>The Legend</h2>
<ul>
<li><strong>Name:</strong> <?php echo $user->name; ?></li>
<li><strong>Bio:</strong> <?php echo $user->bio; ?></li>
<li><strong>Location:</strong> <?php echo $user->location; ?></li>
<li><strong>Gender:</strong> <?php echo $user->gender; ?></li>
<li><strong>Motto:</strong> <?php echo $user->motto; ?></li>
<li><strong>Online:</strong> <?php echo $user->online ? “Online” : “Offline”; ?></li>
<li><strong>Status:</strong> <?php echo $user->online ? $user->online_status : “(none)”; ?></li>
</ul>
<!– recent games –>
<h2>Recent Games</h2>
<ul>
<?php foreach($user->recent_games as $game): ?>
<li><a href=”<?php echo $game->marketplace_url; ?>”><img src=”<?php echo $game->small_boxart; ?>” alt=”<?php echo $game->title; ?>” /></a><br /><?php echo $game->title; ?></li>
<?php endforeach; ?>
</ul>
<div></div>
</div>

4 comentarios

  1. adolfo dijo:
    6 marzo, 2012
    Responder

    hola me gustaria inplementar el api del gamertag en mi web me podrai ayudar por favor,
    si alguien pudiera ayudarme con mi proyecto, poner aplicaciones y foros o tras cosas

  2. Eduardo González dijo:
    27 marzo, 2012
    Responder

    ¿Qué ha ocurrido con esa web? No funciona

    • Adpv dijo:
      29 marzo, 2012
      Responder

      Puede que haya sido un momento puntual, ahora funciona correctamente.

  3. SG-360 dijo:
    29 marzo, 2012
    Responder

    Agregame Tengo el codigo para poner el servicio en tu web, este codigo usa la libreria curl

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

De conformidad con lo establecido en la LOPD, Adpv Advertising Provider S.L. garantiza la adopción de las medidas necesarias para asegurar el tratamiento confidencial de los datos de carácter personal. Así mismo le informamos de la inclusión de sus datos en un fichero con la finalidad de mantener su relación negocial o contractual con Adpv Advertising Provider S.L. y de la posibilidad de ejercer los derechos de acceso, rectificación, cancelación y oposición en la siguiente dirección: Ercilla, 26, 1Dcha., 48011, Bilbao, Bizkaia. Privacidad.