【问题标题】:XBox live achievements APIXbox 实时成就 API
【发布时间】:2013-12-31 15:21:12
【问题描述】:

我对 XBox 开发比较陌生,想知道从哪里开始寻找更多关于 XBox Live 公开的 API 的信息。特别是围绕玩家和游戏成就、玩家详细信息、他们正在玩的其他游戏——诸如此类。

我看过https://xboxapi.com,虽然这很好,但我不知道它是否足够详细以满足我的需要。

同样,Xbox 社区开发计划 (http://www.xbox.com/en-US/developers/home) 似乎非常有用,但还有很多工作要做。

我希望有经验的好心开发者能给我一些指导,让我走上正确的道路

谢谢,

【问题讨论】:

  • 您能否描述一下您的应用/网站中需要哪些成就数据?那里有一堆工具和技术,我只需要更详细地了解您需要的数据。
  • 它本质上是针对特定游戏发布的,因此将针对单个标题,但知道我能得到什么会有所帮助。
  • 这是一款 RPG 风格的游戏,所以我想我可以显示玩家的等级或技能或他们的应用内“金币”价值,我可以购买额外的游戏内货币,我可以购买游戏内项目

标签: xbox


【解决方案1】:

根据您的 cmets,Xbox API 将是最适合您的应用的 API。

您可以通过 HTTP GET 请求查看用户最近的游戏:

https://xboxapi.com/profile/Focus+Jar

这将返回一个 JSON 数组,您可以在其中检查他们是否有您希望通过此 GET 请求跟踪其成就的游戏:

https://xboxapi.com/achievements/1096157387/Focus+Jar

使用这种方法,你可以使用 JavaScript 或 PHP,它是相当有效的。我以前在应用程序中使用过它。唯一的缺点是 XBOX API 有时会很慢,为此我建议缓存一些来自 GET 请求的数据。

希望这对您有更多帮助。

更新 您现在需要一个帐户才能使用此 API。

【讨论】:

  • 感谢 Enijar。我担心第三方应用程序或服务是链条中的另一个环节,我不介意进行开发。是否没有 XBox 本身允许我访问的直接服务或 API,我可以进行与 XBoxAPI 调用相同的调用?速度也是个问题
  • 成就 XBox API 调用所暴露的信息与我在某些工作中需要的东西非常相似,但是如果我可以删掉,我担心通过 api 来获取 api完全是中间人。谢谢,
  • 微软没有为 Xbox 提供官方 API,但是您可以通过为每个用户配置文件解析 HTML 来制作自己的 API:live.xbox.com/en-GB/Profile?gamertag=Focus%20Jar
  • 如果你使用 PHP,这里有一个非常好的 HTML 解析器:simplehtmldom.sourceforge.net
  • 不,遗憾的是它是一个基于 .net 的应用程序。
【解决方案2】:

据我所知,Xbox 社区开发者计划提供的信息并不多。我最初想访问这些信息,但申请过程需要很长时间,他们仍然没有回复我。我几年前申请的。我不知道他们目前是否将其他人包括在该计划中。因此,我将事情掌握在自己手中,并开始逆向工程不同的方式来获取我想要的信息。

我开始在 PhantomJS 中编写一个爬虫,它将所有必填字段发送到登录表单并在登录后下载 HTML/JSON。这工作了一段时间,但我构建它的方式是下载整个配置文件并将整个内容存储到 XML 或 JSON 文件中。对于拥有 100 多个游戏的人来说,这非常慢。在那之后不久,我开始寻找其他进入 xbox.com 的方法。

xboxapi.com 的开发者 djekl 和我几年前就成了好朋友。抓取是有效的,但也令人生畏,因为如果 HTML/JSON 中的某些内容发生变化,事情就会中断。我已经对我的 Xbox 抓取库进行了几次重新设计。

您需要一个能够从响应中捕获 cookie 并在下一个请求中将其发送回的 HTTP 库。在 PHP 中,cURL 非常擅长这样做。我注意到在 C# 中,内置 HTTP 库无法正确存储请求之间的 cookie,因此您需要手动管理 cookie 标头或使用 libcurl 的 .NET 包装器,例如 LibCurl.Net。

祝您项目顺利。很遗憾,我们无法从 Microsoft 获得用于这些数据的开放 API。如果他们担心每小时数千个来自不同应用程序的 API 请求所产生的成本,那么即使是基于订阅的模型也可能会起作用。

【讨论】:

  • 感谢您的帮助。听起来他们在帮助我们开发人员方面做得还不够。真的很傻 - 更多开发人员 = 更酷的游戏 = 更好的体验。
  • 是的,他们不想公开他们的数据太糟糕了。我认为 Valve 对他们的 Steam API 的想法是正确的。要是微软和索尼也能做到这一点就好了。
【解决方案3】:

我一直在为 Xbox One 和 360 开发自己的 API,我将很快提供一些用于测试访问的密钥,如果您仍在寻找此类数据或只是想谈谈它,请随意跳到下面链接的 gitter 频道。

聊天:https://gitter.im/playr-io/one

【讨论】:

  • 几乎不是一个有用的答案,考虑到您自己的 API 是按照您自己的话尚未对公众或提问者使用的。
  • 实际上我正在向他们提供访问权限,因此这对他们很有用......他们还要求提供信息/建议,我有很多,不属于这里的答案。可能应该补充说他询问了数据的粒度,我有文档显示确切的响应,这可能有助于回答他的问题。
  • 它仍然不能真正构成一个有用的答案,主要是因为它缺乏内容。如果您甚至已经链接到您的 API 手册(该手册是公开的),那么可能已经可以查看它是否符合提问者的需求。
  • 这听起来像是个人观点,而不是事实。他们要求“乐于助人”的开发人员提供指导,我已经为他们提供了一个可以获取尽可能多或尽可能少信息的地方的指导。为他们提供 API 访问权限似乎正是他们想要的。
  • 他们听起来很像他们要求就可用数据的一般状态进行对话,来自各种来源,而不仅仅是数据本身。我提供了那个对话。我会让@carlsargunar 自己决定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 2022-11-30
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多