<本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

Mojang API

来自Minecraft Wiki
跳转至: 导航搜索
Clock.png
此条目需要更新。

条目中某些信息已经不符合当前版本情况。

Mojang APIMojang提供的“应用程序编程接口”,允许用户使用自编程序检索玩家数据,它适用于第三方启动器开发人员、服务器运营商和插件开发人员。

所有查询目前限制为每10分钟600次[1]。对于没有购买游戏的注册帐户,也可以进行部分信息的查询。

某个时刻的UUID[编辑 | 编辑源代码]

输入示例

玩家的名称(不区分大小写)和可选的UNIX时间(1970年1月1日以来的秒数)。 如果省略UNIX时间,则假定当前时间。

GET查询

https://api.mojang.com/users/profiles/minecraft/<Spielername>
https://api.mojang.com/users/profiles/minecraft/<Spielername>?at=<UNIX-Zeit>

输出
  • 根标签
    •  id:玩家的UUID。
    •  name:玩家姓名用正确的大写/小写字母。
    •  legacytrue 如果它是一个旧的Minecraft帐户。否则,输出中不包括legacy
    •  demotrue 如果是非付费演示帐户,则输出中不包括“demo”。
示例

https://api.mojang.com/users/profiles/minecraft/OYO123?at=1420066800
提供玩家的UUID“oyo 123”截至2015年1月1日。输出在一行中,没有空格和换行符,仅在此处显示结构化:

 {
   "id":"61699b2ed3274a910f1e0ea8c3f06bc6",
   "name":"oyo123"
 }
错误信息
  • 如果没有命名的玩家,则不会传送任何输出(HTTP Status Code 204 = no content)。
  • 如果UNIX时间不是有效值,则返回HTTP状态代码400(= bad request),并显示以下错误消息:
    {"error":"IllegalArgumentException","errorMessage":"Invalid timestamp."}


所有玩家的名字[编辑 | 编辑源代码]

输入示例

玩家的UUID。

GET查询

https://api.mojang.com/user/profiles/<UUID>/names

输出
  • 此帐户曾经拥有的所有玩家名称的列表。 注意:这些不是第二个帐户,但都更改了帐户的玩家名称。
    • 玩家名称。
      •  name:正确大小写的玩家名称。
      •  changedToAt:更改UNIX时间(1970年1月1日以来的秒数)的时间。
示例

https://api.mojang.com/user/profiles/61699b2ed3274a910f1e0ea8c3f06bc6/names
返回原始玩家名称oyo 123,从2015年2月4日到'xXoyoXx'的变化以及从2015年4月1日到'__oyo__'的变化。输出在一行中,没有空格和换行符,仅在此处显示结构化:

 [
   {
     "name": "oyo123"
   },
   {
     "name": "xXoyoXx",
     "changedToAt": 1423047600000
   },
   {
     "name": "__oyo__",
     "changedToAt": 1427882400000
   }
 ]
错误信息
  • 如果没有具有UUID的玩家,则不会传送任何输出 (HTTP Status Code 204 = no content)。


所有UUID[编辑 | 编辑源代码]

输入示例

最多100个玩家名称的列表。 “Content-Type”HTTP标头必须是“application/json”。

GET查询

https://api.mojang.com/profiles/minecraft

输出
  • 给定玩家的所有UUID列表。 对于不存在的玩家名称,将不返回任何结果。
    • 玩家名称。
      •  id:玩家的UUID
      •  name:正确大小写的玩家名称。
      •  legacytrue 如果它是一个旧的Minecraft帐户。否则,输出中不包括legacy
      •  demotrue 如果是非付费演示帐户,则输出中不包括“demo”。
示例

发送["oyo123","yoyo"]. 输出在一行中,没有空格和换行符,仅在此处显示结构化:

 [
   {
     "id": "61699b2ed3274a910f1e0ea8c3f06bc6",
     "name": "oyo123"
   },
   {
     "id": "06cb8cae14793ec50df31026ac5f420a",
     "name": "yoyo",
     "legacy": true,
     "demo": true
   }
 ]
错误信息
  • 如果集合中缺少玩家名称(连续两个逗号)或空字符串"",则返回IllegalArgumentException。

皮肤和披风[编辑 | 编辑源代码]

输入示例

玩家的UUID以及签名的请求。 可以在一分钟后最早重复对给定UUID的查询。

GET查询

https://sessionserver.mojang.com/session/minecraft/profile/<UUID>
https://sessionserver.mojang.com/session/minecraft/profile/<UUID>?unsigned=false

输出
  • 根标签
    •  id:玩家的UUID
    •  name:正确大写的玩家名称。
    •  properties:玩家属性的列表。
      •  name:玩家属性的名称。到目前为止只有“材质”(“玩家材质”)这一属性。
      •  signature:只有在请求时,Mojang服务器“Yggdrasil”的私钥才会作为Base64字符串传递。
      •  value:Base64字符串Base64中包含的所有材质(皮肤和披风)。可以将Base64字符串在线解码,例如使用这个网站。解密后,您将获得以下信息:
        • 材质对象。
          •  profileId:可选的玩家UUID,不带连字符。
          •  profileName: 可选的玩家名称。
          •  isPublic: truefalsetrue是标准值,可以省略。false表示材质的URL不可公开访问。
          •  stringures:材质。
            •  SKIN皮肤材质。
              •  url:皮肤材质的URL链接。
              •  metadata:可选。皮肤的元数据。
                •  model:“纤细”,当皮肤模型为“Alex”时使用。模型为“Steve”则无该元数据。
            •  CAPE披风材质。
              •  url:披风材质的URL链接。默认没有披风,仅当Mojang在玩家的帐户数据中输入了披风时,才会显示披风。
          •  timestamp:可选的Unix时间戳,以毫秒为单位,时间为调用材质数据的时间。可以将Unix秒转换为实际时间,例如这个网站,但必须首先从“时间戳”中删除最后三个位置,因为它们是毫秒。
示例

https://sessionserver.mojang.com/session/minecraft/profile/61699b2ed3274a910f1e0ea8c3f06bc6
输出在一行中,没有空格和换行符,仅在此处显示结构化:

 {
   "id":"61699b2ed3274a910f1e0ea8c3f06bc6",
   "name":"oyo123",
   "properties":
   [
     {
       "name":"stringures",
       "value":"eyJ0aW1lc3RhbXA..."
     }
   ]
 }
错误信息
  • 如果没有具有UUID的玩家,则不会传送任何输出(HTTP Status Code 204 = no content)。

历史[编辑 | 编辑源代码]

  • Mojang API于2014年4月14日发布。[2]

参考[编辑 | 编辑源代码]