Trying out Steam's JSON API

Trying out Steam's JSON API

本文关键字:JSON API out Steam Trying      更新时间:2023-09-26

我正在尝试学习如何通过API获取项。我目前正在尝试从Steam API获取一个头像。

这是我迄今为止写的jQuery:

$.getJSON("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXXXXX&steamids=76561197960435530", function(json) {
  console.log(json);
  $('#poster').html('<img id="thePoster" src=' + json[0].avatarmedium.url + ' />');
});

当我这样做时:

console.log(json);

我得到这个结果:

response: Object
players: Array[1]
0: Object
avatar: "steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4.jpg"
avatarfull: "steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_full.jpg"
avatarmedium: "steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_medium.jpg"
communityvisibilitystate: 3
lastlogoff: 1448309489
loccityid: 3961
loccountrycode: "US"
locstatecode: "WA"
personaname: "Robin"
personastate: 0
personastateflags: 0
primaryclanid: "103582791429521412"
profilestate: 1
profileurl: "/id/robinwalker/"
realname: "Robin Walker"
steamid: "76561197960435530"
timecreated: 1063407589

我正试图访问你上面看到的头像媒体URL,所以我只是在网站上显示Steam个人资料的头像。

但如果这有意义的话,我似乎无法访问它。我该怎么做?

请注意,响应是一个对象,数组嵌套在players属性的下两层。所以应该是:

json.response.players[0].avatarmedium

avatarmedium没有.url属性,它只是一个字符串。

我建议试试这个:

json.response.players[0].avatarmedium

您需要添加'http://cdn.akamai.steamstatic.com/':

'http://cdn.akamai.steamstatic.com/' + json.response.players[0].avatarmedium

$.getJSON("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXXXXX&steamids=76561197960435530", function(json) {
  console.log(json);
  $('#poster').html('<img id="thePoster" src=' + 'http://cdn.akamai.steamstatic.com/' + json.response.players[0].avatarmedium + ' />');
});

有助于的Hoe