Xbox Live玩家API

上的 

Xbox Live API

撇开我的神枪手身份不谈,我一直都是惊讶令人沮丧的是,微软从未为用户、他们玩的游戏以及游戏中的统计数据提供过大量信息的API。也就是说,我想公开羞辱我用狙击步枪洗礼过的每一个n00b。我最近发现了一个很棒的玩家APIXboxLeaders.com虽然他们的API无法告诉我在Black Ops II中获得的头衔和徽章,但我可以获得一些有关我的用户、我的状态以及我最近主宰的游戏的相关信息。

Xbox API

XboxLeaders目前在四个API端点提供三种格式的数据(XML、JSON和序列化PHP),用于从中检索信息:

  • 获取个人资料/:玩家代号-返回与Xbox LIVE上请求的玩家档案相关的数据。
  • 获取游戏/:玩家代号-返回与请求的玩家所玩游戏相关的数据。返回除成就外的所有游戏数据。
  • 获取成就/:gamertag/:gameid-返回请求的玩家和游戏的所有成就数据。
  • 获取好友/:玩家代号-返回所请求玩家的所有好友数据。如果好友列表是私有的,则会出错。

这些端点允许开发人员访问所有重要的特定于玩家的可用数据。XboxLeaders还正在开发用于发送消息的POST实现。此API可能需要授权,但该API目前对任何想要使用它的人开放。

调用配置文件API将返回以下信息:

{“数据”:{“Tier”:“黄金”,“IsValid”:1,“IsCheater”:0,“IsOnline”:1,“OnlineStatus”:“在线玩COD:Black Ops II-搜索和销毁\r\n无溢出”,“XBLaunchTeam”:0,“NXELaunchTeam”:0,“KinectLaunchTeam”:0,“AvatarTile”:“https://avatar-ssl.xboxlive.com/global/t.fffe07d1/tile/0/2000b",“小人物”:“http://avatar.xboxlive.com/avatar/dwalsh83/avatarpic-s.png",“AvatarLarge”:“http://avatar.xboxlive.com/avatar/dwalsh83/avatarpic-l.png",“AvatarBody”:“http://avatar.xboxlive.com/avatar/dwalsh83/avatar-body.png",“玩家代号”:“dwalsh83”,“玩家得分”:310,“声誉”:20,“姓名”:“David Walsh”,“格言”:“小心你的头。”,“地点”:“美国威斯康星州麦迪逊”,“生物”:“有,也只能有,使命召唤。”},“Stat”:“确定”,“输入”:2.504,“已验证”:“错误”,“AuthedAs”:空}

这是一个很好的数据量。其他API调用也将返回类似的相关信息。

使用Xbox Gamer API

那么,使用这个Xbox Gamer API可以创建什么呢?这取决于你的想象力!让我使用这个很棒的API创建一张玩家卡!

<?php(电话)//变量$gamertag='dwalsh83';/* 最好使用cURL,但为了代码的简洁,请使用file_get_contents*///获取个人资料信息$profile=json_decode(文件获取内容('http://www.xboxleaders.com/api/profile.json?游戏代号='.$玩家代号);$profile=$profile->Data;//获取游戏信息$games=json_decode(文件获取内容('http://www.xboxleaders.com/api/games.json?游戏代号='.$玩家代号);$games=$games->Data;?><!DOCTYPE html><html><头部><样式>.gamercard游戏卡{边框:1px实心#bdbec1;填充:10px;宽度:600px;字体系列:arial,sans-serif;字体大小:12px;颜色:#bdbec1;背景图像:-webkit线性梯度(#ddd,#fff,#e9fdce);背景-图像:-moz-liner-gradient(顶部,#ddd,#fff,#e9fdce);背景图像:-ms-线性渐变(#ddd,#fff,#e9fdce);背景图像:-o-linear-gradient(#ddd,#fff,#e9fdce);背景图像:线性渐变(#ddd,#fff,#e9fdce);}.gamercard图像{显示:块;}.gamercard头像{浮动:右;宽度:150px;高度:300px;边距:-60px 0 0 50px;}.gamercard h1游戏卡h1{font-weight:正常;颜色:#78BB58;}.gamercard h1 img{显示:嵌入式块;向右填充:10px;宽度:24px;高度:24px;}.gamercard h2(游戏卡纸){颜色:#111;字体大小:16px;font-weight:正常;边距:15px;}.gamercard ul码{列表样式类型:无;}.gamercard ul li(游戏卡盘ul li){padding-top:8px;}.gamercard ul li strong{颜色:#666;}.gamercard ul.games li公司{显示:嵌入式块;边距-右:20px;文本对齐:居中;font-weight:粗体;宽度:85px;垂直对齐:顶部;}.gamercard ul.games li img{边距:0自动;宽度:85px;}.gamercard游戏卡{颜色:#78bb58;}.gamercard清除{明确:两者都有;}</style></头><body><!-- 游戏卡--><div class=“gamercard”><!-- 配置文件图像--><img src=“<?php echo$profile->AvatarBody;?>”alt=“>php echos$proile->Gamertag;?>“class=”avatar“/><!-- 玩家姓名--><h1><img src=“<?php echo$profile->AvatarTile;?>”alt=“>php echos$proile->Gamertag;?>“/><?php echo$profile->Gamertag;?></h1><!-- 个人信息--><h2>传奇</h2><ul><li>姓名:?php echo$profile->Name;?></li><li><strong>生物:</strong><?php-echo$profile->Bio;?></li><li><strong>位置:</strong><?php echo$profile->位置;?></li><li>座右铭:?php-echo$profile->Motto;?></li><li><strong>联机:</strong><?php-echo$profile->IsOnline?”在线:离线;?></li><li><strong>状态:</strong><?php-echo$profile->IsOnline$配置文件->联机状态:“(无)”;?></li></ul><?php if(计数($games->PlayedGames)):?><!-- 最近的游戏--><h2>最近的游戏</h2><ul class=“游戏”><?php foreach($games->PlayedGames as$game):?><li><a href=“<?php echo$game->Url;?>”><img src=“?php echo$game->标题;?></li><?php endforeach;?></ul><?php-endif;?><div class=“clear”></div></div></body></html>

这是一张简单的玩家卡。一个很棒的附加功能是一个侧边滚动的游戏列表,当你点击每个游戏时,它可能会显示你的成就。无论如何,XboxLeaders的API将为您提供所需的信息。

XboxLeaders增强的Xbox Gamer API易于使用、可靠且独特。这个API填补了微软没有提供公共Xbox API所造成的空白,并且做得非常好。一如既往,尽最大努力缓存请求以保持他们的服务器负载低,而您的站点速度快。如果你用这个API创建了什么东西,请告诉我——我很想看看!

最近的功能

  • MooTools模板简介

    使用MooTools JavaScript框架创建UI组件的一个主要问题是,没有一种很好的方式允许自定义模板和轻松创建节点。截至目前,有两种创建方式:新元素疯狂创建UI驱动的第一种方法。。。

  • 还有5个你没有的HTML5 API&#8217;t已知存在

    这个HTML5革命为我们提供了一些很棒的JavaScript和HTML API。一些是我们知道多年来一直需要的API,另一些是尖端的移动和桌面助手。无论API的强度或用途如何,任何能帮助我们更好地完成工作的东西都是。。。

令人难以置信的演示

  • CSS@支持

    通过JavaScript进行功能检测是客户端的最佳实践,原因是正确的,但不幸的是,CSS中还没有相同的功能。我们最终会对每个浏览器前缀重复相同的属性多次。真恶心。另一件事我们。。。

  • MooTools模板简介

    使用MooTools JavaScript框架创建UI组件的一个主要问题是,没有一种很好的方式允许自定义模板和轻松创建节点。截至目前,有两种创建方式:新元素疯狂创建UI驱动的第一种方法。。。

讨论

  1. 嘿,很酷的教程,这些年来我唯一一直玩的游戏也是COD!但你应该看看这些活动,它们是史诗般的!

  2. 这里有些东西需要注意。本教程中使用的API非法地从Xbox.com中获取信息。应该注意的是,“使用任何自动化进程或服务(如机器人程序、蜘蛛程序、Microsoft存储的信息的定期缓存或元搜索)来访问或使用服务,或从服务中复制或删除数据”被Xbox Live服务条款禁止。如果未能遵守Xbox Live TOS,您的Xbox Live帐户将被暂停或禁止使用Xbox Live服务,从而受到惩罚。

    我不为微软工作。我并不是说会发生这种事。我只是说,使用这个API可能会被视为违反TOS。人们因违反规定而被停职。

    http://www.xbox.com/en-US/legal/livetou网站

    还要注意,微软确实有一个Xbox社区开发计划(XCDP),您可以申请加入。在其中,它们为您提供了一个合法的API来访问其他API提供的大部分内容。

    http://www.xbox.com/en-US/Community/Developer/home(英语)

    干杯。

  3. 这是一个非常棒的API。不知道PSN是否有类似的东西。

  4. 不幸的是,微软没有提供官方API,但这是一个很好的替代方案。

    我的一个朋友也做了同样的事情,但还提供了玩家代号作为论坛签名:http://experiats.chary.us/gamercard/

  5. 夯实125

    已接受挑战。

    战场上见

    :)

  6. 非常酷。你摇滚。PHP+MW3=良好

  7. 施瓦恩·达尔巴赫

    当你在国际足联10强比赛时,唯一占据主导地位的是你球队的球网。

  8. 拉尔斯

    嘿,大卫,

    我想与大家分享一个新教程的新想法:

    也许你已经看到了新的Windows 8图片登录。要使用此功能,您必须选择一张图片并在屏幕上绘制三条不同的线。下次,当你想访问你的系统时,你必须画出这三条线来解锁你的操作系统。这里有一个小演示:

    http://www.youtube.com/watch?v=hriHlzwflDA&功能=related

    我的想法是:

    你能像我之前提到的那样为登录系统编码吗?

    祝你的博客继续成功;)
    干杯,

    拉尔斯

  9. 他们去宣读任何成就了吗?

  10. 凯西

    url结构已更改。演示链接现在是:

    http://www.xboxleaders.com/api/profile/dwalsh83.json

  11. 无论如何,要显示在线状态,例如“玩家代号当前正在玩使命召唤:现代战争3”?

  12. 你好,我想在我的网站上添加你的api,你能帮我吗

  13. 当我用php内容创建一个php文件(用php标记包装),然后使用wamp在浏览器中加载它时,它没有显示出我做错了什么?

  14. 亚历克斯

    例如,使用用户名“Nickolas”,出现了什么问题?

  15. 谢谢你的来信!您还可以在此处找到更广泛的文档:http://www.xboxleaders.com/docs/api/

  16. 你好,请联系我,定制脚本请。

    我付钱给你。

    谢谢

  17. 很好的教程,读到一个很好的方法来实现xboxlive中的一些数据非常酷,这对玩家网站可能非常有用。

  18. 演示链接@http://davidwalsh.name/demo/xbox-api.php看起来不工作

    不过写得不错。还有其他人可以使用它吗?

  19. 此API销售机会有任何更新吗?我对通过这种API向其他企业开放用户数据非常感兴趣;)

  20. 向所有人更新:API经常更改,因此请访问此网站以了解最新信息!

    http://xboxleaders.github.io/

  21. SH_DY公司

    看起来它不再工作了?

    真的很难过。看起来MS决定将这些信息脱机。Xbox.com上再也看不到任何内容。这些配置文件毫无用处。没有Bio,没有位置–只有Gamerscore还在。

    …其余仅在Xbox上可用。找不到工作场所。

  22. 你知道通过web api发送游戏/聚会邀请或消息的方法吗?

将代码包装起来<pre class=“{language}”>标签,链接到GitHub要点、JSFiddle提琴或CodePen笔进行嵌入!